home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / Shareware / Shape Smash / shape-smash.swf / scripts / mx / core / UIComponent.as < prev    next >
Encoding:
Text File  |  2010-05-14  |  120.3 KB  |  3,989 lines

  1. package mx.core
  2. {
  3.    import flash.display.DisplayObject;
  4.    import flash.display.DisplayObjectContainer;
  5.    import flash.display.GradientType;
  6.    import flash.display.Graphics;
  7.    import flash.display.InteractiveObject;
  8.    import flash.display.Sprite;
  9.    import flash.events.Event;
  10.    import flash.events.EventPhase;
  11.    import flash.events.FocusEvent;
  12.    import flash.events.IEventDispatcher;
  13.    import flash.events.KeyboardEvent;
  14.    import flash.geom.Matrix;
  15.    import flash.geom.Point;
  16.    import flash.geom.Rectangle;
  17.    import flash.system.ApplicationDomain;
  18.    import flash.text.TextLineMetrics;
  19.    import flash.utils.getQualifiedClassName;
  20.    import flash.utils.getQualifiedSuperclassName;
  21.    import mx.automation.IAutomationObject;
  22.    import mx.binding.BindingManager;
  23.    import mx.effects.Effect;
  24.    import mx.effects.EffectInstance;
  25.    import mx.effects.EffectManager;
  26.    import mx.events.ChildExistenceChangedEvent;
  27.    import mx.events.DynamicEvent;
  28.    import mx.events.EffectEvent;
  29.    import mx.events.FlexEvent;
  30.    import mx.events.MoveEvent;
  31.    import mx.events.PropertyChangeEvent;
  32.    import mx.events.ResizeEvent;
  33.    import mx.events.StateChangeEvent;
  34.    import mx.events.ValidationResultEvent;
  35.    import mx.graphics.RoundedRectangle;
  36.    import mx.managers.IFocusManager;
  37.    import mx.managers.IFocusManagerComponent;
  38.    import mx.managers.IFocusManagerContainer;
  39.    import mx.managers.ILayoutManagerClient;
  40.    import mx.managers.ISystemManager;
  41.    import mx.managers.IToolTipManagerClient;
  42.    import mx.managers.SystemManager;
  43.    import mx.managers.SystemManagerGlobals;
  44.    import mx.managers.ToolTipManager;
  45.    import mx.modules.ModuleManager;
  46.    import mx.resources.ResourceBundle;
  47.    import mx.skins.ProgrammaticSkin;
  48.    import mx.states.State;
  49.    import mx.states.Transition;
  50.    import mx.styles.CSSStyleDeclaration;
  51.    import mx.styles.ISimpleStyleClient;
  52.    import mx.styles.IStyleClient;
  53.    import mx.styles.StyleManager;
  54.    import mx.styles.StyleProtoChain;
  55.    import mx.utils.ColorUtil;
  56.    import mx.utils.GraphicsUtil;
  57.    import mx.utils.StringUtil;
  58.    import mx.validators.IValidatorListener;
  59.    import mx.validators.ValidationResult;
  60.    
  61.    use namespace mx_internal;
  62.    
  63.    public class UIComponent extends FlexSprite implements IAutomationObject, IChildList, IDeferredInstantiationUIComponent, IFlexDisplayObject, IFlexModule, IInvalidating, ILayoutManagerClient, IPropertyChangeNotifier, IRepeaterClient, ISimpleStyleClient, IStyleClient, IToolTipManagerClient, IUIComponent, IValidatorListener
  64.    {
  65.       mx_internal static var dispatchEventHook:Function;
  66.       
  67.       mx_internal static var createAccessibilityImplementation:Function;
  68.       
  69.       mx_internal static const VERSION:String = "2.0.1.0";
  70.       
  71.       public static const DEFAULT_MEASURED_WIDTH:Number = 160;
  72.       
  73.       public static const DEFAULT_MEASURED_MIN_WIDTH:Number = 40;
  74.       
  75.       public static const DEFAULT_MEASURED_HEIGHT:Number = 22;
  76.       
  77.       public static const DEFAULT_MEASURED_MIN_HEIGHT:Number = 22;
  78.       
  79.       public static const DEFAULT_MAX_WIDTH:Number = 10000;
  80.       
  81.       public static const DEFAULT_MAX_HEIGHT:Number = 10000;
  82.       
  83.       mx_internal static var STYLE_UNINITIALIZED:Object = {};
  84.       
  85.       private static var fakeMouseX:QName = new QName(mx_internal,"_mouseX");
  86.       
  87.       private static var fakeMouseY:QName = new QName(mx_internal,"_mouseY");
  88.       
  89.       private var errorStringChanged:Boolean = false;
  90.       
  91.       mx_internal var overlay:UIComponent;
  92.       
  93.       mx_internal var automaticRadioButtonGroups:Object;
  94.       
  95.       private var _currentState:String;
  96.       
  97.       private var _isPopUp:Boolean;
  98.       
  99.       private var _repeaters:Array;
  100.       
  101.       private var packageResources:ResourceBundle;
  102.       
  103.       private var _systemManager:ISystemManager;
  104.       
  105.       private var _measuredWidth:Number = 0;
  106.       
  107.       private var methodQueue:Array;
  108.       
  109.       mx_internal var _width:Number;
  110.       
  111.       private var _tweeningProperties:Array;
  112.       
  113.       private var _validationSubField:String;
  114.       
  115.       private var _endingEffectInstances:Array;
  116.       
  117.       mx_internal var saveBorderColor:Boolean = true;
  118.       
  119.       mx_internal var overlayColor:uint;
  120.       
  121.       private var _repeaterIndices:Array;
  122.       
  123.       private var oldExplicitWidth:Number;
  124.       
  125.       mx_internal var _descriptor:UIComponentDescriptor;
  126.       
  127.       private var _initialized:Boolean = false;
  128.       
  129.       private var requestedCurrentState:String;
  130.       
  131.       private var _focusEnabled:Boolean = true;
  132.       
  133.       private var cacheAsBitmapCount:int = 0;
  134.       
  135.       mx_internal var overlayReferenceCount:int = 0;
  136.       
  137.       private var listeningForRender:Boolean = false;
  138.       
  139.       mx_internal var invalidateDisplayListFlag:Boolean = false;
  140.       
  141.       private var oldScaleX:Number = 1;
  142.       
  143.       private var oldScaleY:Number = 1;
  144.       
  145.       mx_internal var _explicitMaxHeight:Number;
  146.       
  147.       mx_internal var invalidatePropertiesFlag:Boolean = false;
  148.       
  149.       private var hasFocusRect:Boolean = false;
  150.       
  151.       private var _scaleX:Number = 1;
  152.       
  153.       private var _scaleY:Number = 1;
  154.       
  155.       mx_internal var invalidateSizeFlag:Boolean = false;
  156.       
  157.       private var _styleDeclaration:CSSStyleDeclaration;
  158.       
  159.       mx_internal var _documentDescriptor:UIComponentDescriptor;
  160.       
  161.       mx_internal var _affectedProperties:Object;
  162.       
  163.       private var _processedDescriptors:Boolean = false;
  164.       
  165.       mx_internal var origBorderColor:Number;
  166.       
  167.       private var _focusManager:IFocusManager;
  168.       
  169.       private var _cachePolicy:String = "auto";
  170.       
  171.       private var _measuredHeight:Number = 0;
  172.       
  173.       private var _id:String;
  174.       
  175.       private var _owner:DisplayObjectContainer;
  176.       
  177.       public var transitions:Array;
  178.       
  179.       mx_internal var _parent:DisplayObjectContainer;
  180.       
  181.       private var _measuredMinWidth:Number = 0;
  182.       
  183.       private var oldMinWidth:Number;
  184.       
  185.       private var _enabled:Boolean = false;
  186.       
  187.       public var states:Array;
  188.       
  189.       private var _explicitWidth:Number;
  190.       
  191.       private var _mouseFocusEnabled:Boolean = true;
  192.       
  193.       private var oldHeight:Number = 0;
  194.       
  195.       private var _currentStateChanged:Boolean;
  196.       
  197.       private var cachedTextFormat:UITextFormat;
  198.       
  199.       private var _automationDelegate:IAutomationObject;
  200.       
  201.       mx_internal var _height:Number;
  202.       
  203.       private var _percentWidth:Number;
  204.       
  205.       private var _automationName:String = null;
  206.       
  207.       private var _isEffectStarted:Boolean = false;
  208.       
  209.       private var _styleName:Object;
  210.       
  211.       mx_internal var _document:Object;
  212.       
  213.       private var _errorString:String = "";
  214.       
  215.       private var oldExplicitHeight:Number;
  216.       
  217.       private var _nestLevel:int = 0;
  218.       
  219.       private var _explicitHeight:Number;
  220.       
  221.       private var _filters:Array;
  222.       
  223.       private var _toolTip:String;
  224.       
  225.       private var _focusPane:Sprite;
  226.       
  227.       private var playStateTransition:Boolean = true;
  228.       
  229.       private var _nonInheritingStyles:Object;
  230.       
  231.       private var _showInAutomationHierarchy:Boolean = true;
  232.       
  233.       private var _moduleFactory:IFlexModuleFactory;
  234.       
  235.       private var oldX:Number = 0;
  236.       
  237.       private var oldY:Number = 0;
  238.       
  239.       private var _instanceIndices:Array;
  240.       
  241.       private var _visible:Boolean = true;
  242.       
  243.       private var _inheritingStyles:Object;
  244.       
  245.       private var _includeInLayout:Boolean = true;
  246.       
  247.       mx_internal var _effectsStarted:Array;
  248.       
  249.       private var _explicitMinWidth:Number;
  250.       
  251.       private var resourceStateUndefined:String = null;
  252.       
  253.       mx_internal var _explicitMaxWidth:Number;
  254.       
  255.       private var _measuredMinHeight:Number = 0;
  256.       
  257.       private var _uid:String;
  258.       
  259.       private var _currentTransitionEffect:Effect;
  260.       
  261.       private var _updateCompletePendingFlag:Boolean = false;
  262.       
  263.       private var oldMinHeight:Number;
  264.       
  265.       mx_internal var _explicitMinHeight:Number;
  266.       
  267.       private var _percentHeight:Number;
  268.       
  269.       private var oldWidth:Number = 0;
  270.       
  271.       public function UIComponent()
  272.       {
  273.          packageResources = ResourceBundle.getResourceBundle("core",ApplicationDomain.currentDomain);
  274.          resourceStateUndefined = null;
  275.          listeningForRender = false;
  276.          methodQueue = [];
  277.          hasFocusRect = false;
  278.          _initialized = false;
  279.          _processedDescriptors = false;
  280.          _updateCompletePendingFlag = false;
  281.          mx_internal::invalidatePropertiesFlag = false;
  282.          mx_internal::invalidateSizeFlag = false;
  283.          mx_internal::invalidateDisplayListFlag = false;
  284.          oldX = 0;
  285.          oldY = 0;
  286.          oldWidth = 0;
  287.          oldHeight = 0;
  288.          oldScaleX = 1;
  289.          oldScaleY = 1;
  290.          mx_internal::overlayReferenceCount = 0;
  291.          mx_internal::saveBorderColor = true;
  292.          _scaleX = 1;
  293.          _scaleY = 1;
  294.          _visible = true;
  295.          _enabled = false;
  296.          _nestLevel = 0;
  297.          _inheritingStyles = UIComponent.mx_internal::STYLE_UNINITIALIZED;
  298.          _nonInheritingStyles = UIComponent.mx_internal::STYLE_UNINITIALIZED;
  299.          _cachePolicy = UIComponentCachePolicy.AUTO;
  300.          cacheAsBitmapCount = 0;
  301.          _focusEnabled = true;
  302.          _mouseFocusEnabled = true;
  303.          _measuredMinWidth = 0;
  304.          _measuredMinHeight = 0;
  305.          _measuredWidth = 0;
  306.          _measuredHeight = 0;
  307.          _includeInLayout = true;
  308.          playStateTransition = true;
  309.          states = [];
  310.          transitions = [];
  311.          _automationName = null;
  312.          _showInAutomationHierarchy = true;
  313.          _errorString = "";
  314.          errorStringChanged = false;
  315.          mx_internal::_effectsStarted = [];
  316.          mx_internal::_affectedProperties = {};
  317.          _isEffectStarted = false;
  318.          _endingEffectInstances = [];
  319.          super();
  320.          focusRect = false;
  321.          tabEnabled = this is IFocusManagerComponent;
  322.          enabled = true;
  323.          mx_internal::$visible = false;
  324.          addEventListener(Event.ADDED,addedHandler);
  325.          addEventListener(Event.REMOVED,removedHandler);
  326.          if(this is IFocusManagerComponent)
  327.          {
  328.             addEventListener(FocusEvent.FOCUS_IN,focusInHandler);
  329.             addEventListener(FocusEvent.FOCUS_OUT,focusOutHandler);
  330.             addEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);
  331.             addEventListener(KeyboardEvent.KEY_UP,keyUpHandler);
  332.          }
  333.          mx_internal::_width = super.width;
  334.          mx_internal::_height = super.height;
  335.       }
  336.       
  337.       public static function resumeBackgroundProcessing() : void
  338.       {
  339.          var _loc1_:SystemManager = null;
  340.          if(UIComponentGlobals.mx_internal::callLaterSuspendCount > 0)
  341.          {
  342.             --UIComponentGlobals.mx_internal::callLaterSuspendCount;
  343.             if(UIComponentGlobals.mx_internal::callLaterSuspendCount == 0)
  344.             {
  345.                _loc1_ = SystemManagerGlobals.topLevelSystemManagers[0];
  346.                if(Boolean(_loc1_) && Boolean(_loc1_.stage))
  347.                {
  348.                   _loc1_.stage.invalidate();
  349.                }
  350.             }
  351.          }
  352.       }
  353.       
  354.       public static function suspendBackgroundProcessing() : void
  355.       {
  356.          ++UIComponentGlobals.mx_internal::callLaterSuspendCount;
  357.       }
  358.       
  359.       public function getStyle(param1:String) : *
  360.       {
  361.          return !!StyleManager.mx_internal::inheritingStyles[param1] ? _inheritingStyles[param1] : _nonInheritingStyles[param1];
  362.       }
  363.       
  364.       [Bindable("toolTipChanged")]
  365.       public function get toolTip() : String
  366.       {
  367.          return _toolTip;
  368.       }
  369.       
  370.       private function transition_effectEndHandler(param1:EffectEvent) : void
  371.       {
  372.          _currentTransitionEffect = null;
  373.       }
  374.       
  375.       public function get nestLevel() : int
  376.       {
  377.          return _nestLevel;
  378.       }
  379.       
  380.       protected function adjustFocusRect(param1:DisplayObject = null) : void
  381.       {
  382.          var _loc2_:IFocusManager = null;
  383.          var _loc3_:IFlexDisplayObject = null;
  384.          var _loc4_:Number = NaN;
  385.          var _loc5_:Number = NaN;
  386.          var _loc6_:Point = null;
  387.          var _loc7_:Number = NaN;
  388.          if(!param1)
  389.          {
  390.             param1 = this;
  391.          }
  392.          if(isNaN(param1.width) || isNaN(param1.height))
  393.          {
  394.             return;
  395.          }
  396.          _loc2_ = focusManager;
  397.          if(!_loc2_)
  398.          {
  399.             return;
  400.          }
  401.          _loc3_ = IFlexDisplayObject(mx_internal::getFocusObject());
  402.          if(_loc3_)
  403.          {
  404.             if(Boolean(errorString) && errorString != "")
  405.             {
  406.                _loc4_ = getStyle("errorColor");
  407.             }
  408.             else
  409.             {
  410.                _loc4_ = getStyle("themeColor");
  411.             }
  412.             _loc5_ = getStyle("focusThickness");
  413.             if(_loc3_ is IStyleClient)
  414.             {
  415.                IStyleClient(_loc3_).setStyle("focusColor",_loc4_);
  416.             }
  417.             _loc3_.setActualSize(param1.width + 2 * _loc5_,param1.height + 2 * _loc5_);
  418.             if(rotation)
  419.             {
  420.                _loc7_ = rotation * Math.PI / 180;
  421.                _loc6_ = new Point(param1.x - _loc5_ * (Math.cos(_loc7_) - Math.sin(_loc7_)),param1.y - _loc5_ * (Math.cos(_loc7_) + Math.sin(_loc7_)));
  422.                DisplayObject(_loc3_).rotation = rotation;
  423.             }
  424.             else
  425.             {
  426.                _loc6_ = new Point(param1.x - _loc5_,param1.y - _loc5_);
  427.             }
  428.             if(param1.parent == this)
  429.             {
  430.                _loc6_.x += x;
  431.                _loc6_.y += y;
  432.             }
  433.             _loc6_ = parent.localToGlobal(_loc6_);
  434.             _loc6_ = parent.globalToLocal(_loc6_);
  435.             _loc3_.move(_loc6_.x,_loc6_.y);
  436.             if(_loc3_ is IInvalidating)
  437.             {
  438.                IInvalidating(_loc3_).validateNow();
  439.             }
  440.             else if(_loc3_ is ProgrammaticSkin)
  441.             {
  442.                ProgrammaticSkin(_loc3_).validateNow();
  443.             }
  444.          }
  445.       }
  446.       
  447.       public function set nestLevel(param1:int) : void
  448.       {
  449.          var _loc2_:IChildList = null;
  450.          var _loc3_:int = 0;
  451.          var _loc4_:int = 0;
  452.          var _loc5_:ILayoutManagerClient = null;
  453.          var _loc6_:UITextField = null;
  454.          if(param1 > 1 && _nestLevel != param1)
  455.          {
  456.             _nestLevel = param1;
  457.             mx_internal::updateCallbacks();
  458.             _loc2_ = this is IRawChildrenContainer ? IRawChildrenContainer(this).rawChildren : IChildList(this);
  459.             _loc3_ = _loc2_.numChildren;
  460.             _loc4_ = 0;
  461.             while(_loc4_ < _loc3_)
  462.             {
  463.                _loc5_ = _loc2_.getChildAt(_loc4_) as ILayoutManagerClient;
  464.                if(_loc5_)
  465.                {
  466.                   _loc5_.nestLevel = param1 + 1;
  467.                }
  468.                else
  469.                {
  470.                   _loc6_ = _loc2_.getChildAt(_loc4_) as UITextField;
  471.                   if(_loc6_)
  472.                   {
  473.                      _loc6_.nestLevel = param1 + 1;
  474.                   }
  475.                }
  476.                _loc4_++;
  477.             }
  478.          }
  479.       }
  480.       
  481.       public function getExplicitOrMeasuredHeight() : Number
  482.       {
  483.          return !isNaN(explicitHeight) ? explicitHeight : measuredHeight;
  484.       }
  485.       
  486.       private function callLaterDispatcher(param1:Event) : void
  487.       {
  488.          var layoutErrorEvent:DynamicEvent = null;
  489.          var event:Event = param1;
  490.          ++UIComponentGlobals.mx_internal::callLaterDispatcherCount;
  491.          if(!UIComponentGlobals.mx_internal::designTime)
  492.          {
  493.             callLaterDispatcher2(event);
  494.          }
  495.          else
  496.          {
  497.             try
  498.             {
  499.                callLaterDispatcher2(event);
  500.             }
  501.             catch(e:Error)
  502.             {
  503.                layoutErrorEvent = new DynamicEvent("layoutError");
  504.                layoutErrorEvent.error = e;
  505.                systemManager.dispatchEvent(layoutErrorEvent);
  506.             }
  507.          }
  508.          --UIComponentGlobals.mx_internal::callLaterDispatcherCount;
  509.       }
  510.       
  511.       final mx_internal function get $width() : Number
  512.       {
  513.          return super.width;
  514.       }
  515.       
  516.       public function get className() : String
  517.       {
  518.          var _loc1_:String = null;
  519.          var _loc2_:int = 0;
  520.          _loc1_ = getQualifiedClassName(this);
  521.          _loc2_ = int(_loc1_.indexOf("::"));
  522.          if(_loc2_ != -1)
  523.          {
  524.             _loc1_ = _loc1_.substr(_loc2_ + 2);
  525.          }
  526.          return _loc1_;
  527.       }
  528.       
  529.       public function verticalGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number) : Matrix
  530.       {
  531.          UIComponentGlobals.mx_internal::tempMatrix.createGradientBox(param3,param4,Math.PI / 2,param1,param2);
  532.          return UIComponentGlobals.mx_internal::tempMatrix;
  533.       }
  534.       
  535.       public function setCurrentState(param1:String, param2:Boolean = true) : void
  536.       {
  537.          if(param1 != currentState && !(isBaseState(param1) && isBaseState(currentState)))
  538.          {
  539.             requestedCurrentState = param1;
  540.             playStateTransition = param2;
  541.             if(initialized)
  542.             {
  543.                commitCurrentState();
  544.             }
  545.             else
  546.             {
  547.                _currentStateChanged = true;
  548.                addEventListener(FlexEvent.CREATION_COMPLETE,creationCompleteHandler);
  549.             }
  550.          }
  551.       }
  552.       
  553.       private function getBaseStates(param1:State) : Array
  554.       {
  555.          var _loc2_:Array = null;
  556.          _loc2_ = [];
  557.          while(Boolean(param1) && param1.basedOn != "")
  558.          {
  559.             _loc2_.push(param1.basedOn);
  560.             param1 = getState(param1.basedOn);
  561.          }
  562.          return _loc2_;
  563.       }
  564.       
  565.       public function set minHeight(param1:Number) : void
  566.       {
  567.          if(explicitMinHeight == param1)
  568.          {
  569.             return;
  570.          }
  571.          explicitMinHeight = param1;
  572.       }
  573.       
  574.       [Bindable("errorStringChanged")]
  575.       public function get errorString() : String
  576.       {
  577.          return _errorString;
  578.       }
  579.       
  580.       protected function isOurFocus(param1:DisplayObject) : Boolean
  581.       {
  582.          return param1 == this;
  583.       }
  584.       
  585.       public function get automationName() : String
  586.       {
  587.          if(_automationName)
  588.          {
  589.             return _automationName;
  590.          }
  591.          if(automationDelegate)
  592.          {
  593.             return automationDelegate.automationName;
  594.          }
  595.          return "";
  596.       }
  597.       
  598.       final mx_internal function set $width(param1:Number) : void
  599.       {
  600.          super.width = param1;
  601.       }
  602.       
  603.       public function invalidateDisplayList() : void
  604.       {
  605.          if(!mx_internal::invalidateDisplayListFlag)
  606.          {
  607.             mx_internal::invalidateDisplayListFlag = true;
  608.             if(Boolean(parent) && Boolean(UIComponentGlobals.mx_internal::layoutManager))
  609.             {
  610.                UIComponentGlobals.mx_internal::layoutManager.invalidateDisplayList(this);
  611.             }
  612.          }
  613.       }
  614.       
  615.       [Bindable("scaleXChanged")]
  616.       override public function get scaleX() : Number
  617.       {
  618.          return _scaleX;
  619.       }
  620.       
  621.       [Bindable("scaleYChanged")]
  622.       override public function get scaleY() : Number
  623.       {
  624.          return _scaleY;
  625.       }
  626.       
  627.       mx_internal function initThemeColor() : Boolean
  628.       {
  629.          var _loc1_:Object = null;
  630.          var _loc2_:Object = null;
  631.          var _loc3_:Number = NaN;
  632.          var _loc4_:Number = NaN;
  633.          var _loc5_:Object = null;
  634.          var _loc6_:Array = null;
  635.          var _loc7_:int = 0;
  636.          var _loc8_:CSSStyleDeclaration = null;
  637.          _loc1_ = _styleName;
  638.          if(_styleDeclaration)
  639.          {
  640.             _loc2_ = _styleDeclaration.getStyle("themeColor");
  641.             _loc3_ = _styleDeclaration.getStyle("rollOverColor");
  642.             _loc4_ = _styleDeclaration.getStyle("selectionColor");
  643.          }
  644.          if(!_loc2_ && _loc1_ && !(_loc1_ is ISimpleStyleClient))
  645.          {
  646.             _loc5_ = _loc1_ is String ? StyleManager.getStyleDeclaration("." + _loc1_) : _loc1_;
  647.             if(_loc5_)
  648.             {
  649.                _loc2_ = _loc5_.getStyle("themeColor");
  650.                _loc3_ = Number(_loc5_.getStyle("rollOverColor"));
  651.                _loc4_ = Number(_loc5_.getStyle("selectionColor"));
  652.             }
  653.          }
  654.          if(!_loc2_)
  655.          {
  656.             _loc6_ = getClassStyleDeclarations();
  657.             _loc7_ = 0;
  658.             while(_loc7_ < _loc6_.length)
  659.             {
  660.                _loc8_ = _loc6_[_loc7_];
  661.                if(_loc8_)
  662.                {
  663.                   _loc2_ = _loc8_.getStyle("themeColor");
  664.                   _loc3_ = _loc8_.getStyle("rollOverColor");
  665.                   _loc4_ = _loc8_.getStyle("selectionColor");
  666.                }
  667.                if(_loc2_)
  668.                {
  669.                   break;
  670.                }
  671.                _loc7_++;
  672.             }
  673.          }
  674.          if(_loc2_ && isNaN(_loc3_) && isNaN(_loc4_))
  675.          {
  676.             mx_internal::setThemeColor(_loc2_);
  677.             return true;
  678.          }
  679.          return Boolean(_loc2_) && !isNaN(_loc3_) && !isNaN(_loc4_);
  680.       }
  681.       
  682.       override public function get mouseX() : Number
  683.       {
  684.          if(!root || root[fakeMouseX] === undefined)
  685.          {
  686.             return super.mouseX;
  687.          }
  688.          return globalToLocal(new Point(root[fakeMouseX],0)).x;
  689.       }
  690.       
  691.       override public function get mouseY() : Number
  692.       {
  693.          if(!root || root[fakeMouseY] === undefined)
  694.          {
  695.             return super.mouseY;
  696.          }
  697.          return globalToLocal(new Point(0,root[fakeMouseY])).y;
  698.       }
  699.       
  700.       override public function stopDrag() : void
  701.       {
  702.          super.stopDrag();
  703.          invalidateProperties();
  704.          dispatchEvent(new Event("xChanged"));
  705.          dispatchEvent(new Event("yChanged"));
  706.       }
  707.       
  708.       public function get uid() : String
  709.       {
  710.          if(!_uid)
  711.          {
  712.             _uid = toString();
  713.          }
  714.          return _uid;
  715.       }
  716.       
  717.       public function set tweeningProperties(param1:Array) : void
  718.       {
  719.          _tweeningProperties = param1;
  720.       }
  721.       
  722.       public function get focusPane() : Sprite
  723.       {
  724.          return _focusPane;
  725.       }
  726.       
  727.       public function horizontalGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number) : Matrix
  728.       {
  729.          UIComponentGlobals.mx_internal::tempMatrix.createGradientBox(param3,param4,0,param1,param2);
  730.          return UIComponentGlobals.mx_internal::tempMatrix;
  731.       }
  732.       
  733.       public function set validationSubField(param1:String) : void
  734.       {
  735.          _validationSubField = param1;
  736.       }
  737.       
  738.       protected function keyDownHandler(param1:KeyboardEvent) : void
  739.       {
  740.       }
  741.       
  742.       public function get isDocument() : Boolean
  743.       {
  744.          return document == this;
  745.       }
  746.       
  747.       mx_internal function addOverlay(param1:uint, param2:RoundedRectangle = null) : void
  748.       {
  749.          if(!mx_internal::overlay)
  750.          {
  751.             mx_internal::overlayColor = param1;
  752.             mx_internal::overlay = new UIComponent();
  753.             mx_internal::overlay.name = "overlay";
  754.             mx_internal::fillOverlay(mx_internal::overlay,param1,param2);
  755.             attachOverlay();
  756.             if(!param2)
  757.             {
  758.                addEventListener(ResizeEvent.RESIZE,overlay_resizeHandler);
  759.             }
  760.             mx_internal::overlay.x = 0;
  761.             mx_internal::overlay.y = 0;
  762.             invalidateDisplayList();
  763.             mx_internal::overlayReferenceCount = 1;
  764.          }
  765.          else
  766.          {
  767.             ++mx_internal::overlayReferenceCount;
  768.          }
  769.          dispatchEvent(new ChildExistenceChangedEvent(ChildExistenceChangedEvent.OVERLAY_CREATED,true,false,mx_internal::overlay));
  770.       }
  771.       
  772.       [Bindable("show")]
  773.       [Bindable("hide")]
  774.       override public function get visible() : Boolean
  775.       {
  776.          return _visible;
  777.       }
  778.       
  779.       public function get screen() : Rectangle
  780.       {
  781.          var _loc1_:ISystemManager = null;
  782.          _loc1_ = systemManager;
  783.          return !!_loc1_ ? _loc1_.screen : null;
  784.       }
  785.       
  786.       [Bindable("xChanged")]
  787.       override public function get x() : Number
  788.       {
  789.          return super.x;
  790.       }
  791.       
  792.       [Bindable("yChanged")]
  793.       override public function get y() : Number
  794.       {
  795.          return super.y;
  796.       }
  797.       
  798.       [Bindable("explicitHeightChanged")]
  799.       public function get explicitHeight() : Number
  800.       {
  801.          return _explicitHeight;
  802.       }
  803.       
  804.       protected function focusInHandler(param1:FocusEvent) : void
  805.       {
  806.          var _loc2_:IFocusManager = null;
  807.          if(isOurFocus(DisplayObject(param1.target)))
  808.          {
  809.             _loc2_ = focusManager;
  810.             if(Boolean(_loc2_) && _loc2_.showFocusIndicator)
  811.             {
  812.                drawFocus(true);
  813.             }
  814.             Container.mx_internal::checkFocus(param1.relatedObject,this);
  815.          }
  816.       }
  817.       
  818.       private function focusObj_scrollHandler(param1:Event) : void
  819.       {
  820.          adjustFocusRect();
  821.       }
  822.       
  823.       [Bindable("resize")]
  824.       public function get percentWidth() : Number
  825.       {
  826.          return _percentWidth;
  827.       }
  828.       
  829.       public function set automationName(param1:String) : void
  830.       {
  831.          _automationName = param1;
  832.       }
  833.       
  834.       public function get mouseFocusEnabled() : Boolean
  835.       {
  836.          return _mouseFocusEnabled;
  837.       }
  838.       
  839.       public function set explicitMinHeight(param1:Number) : void
  840.       {
  841.          var _loc2_:IInvalidating = null;
  842.          if(mx_internal::_explicitMinHeight == param1)
  843.          {
  844.             return;
  845.          }
  846.          mx_internal::_explicitMinHeight = param1;
  847.          invalidateSize();
  848.          _loc2_ = parent as IInvalidating;
  849.          if(_loc2_)
  850.          {
  851.             _loc2_.invalidateSize();
  852.             _loc2_.invalidateDisplayList();
  853.          }
  854.          dispatchEvent(new Event("explicitMinHeightChanged"));
  855.       }
  856.       
  857.       public function stylesInitialized() : void
  858.       {
  859.       }
  860.       
  861.       public function set errorString(param1:String) : void
  862.       {
  863.          ToolTipManager.mx_internal::registerErrorString(this,param1);
  864.          _errorString = param1;
  865.          errorStringChanged = true;
  866.          invalidateProperties();
  867.          dispatchEvent(new Event("errorStringChanged"));
  868.       }
  869.       
  870.       public function getExplicitOrMeasuredWidth() : Number
  871.       {
  872.          return !isNaN(explicitWidth) ? explicitWidth : measuredWidth;
  873.       }
  874.       
  875.       final mx_internal function set $height(param1:Number) : void
  876.       {
  877.          super.height = param1;
  878.       }
  879.       
  880.       final mx_internal function $removeChild(param1:DisplayObject) : DisplayObject
  881.       {
  882.          return super.removeChild(param1);
  883.       }
  884.       
  885.       override public function set scaleX(param1:Number) : void
  886.       {
  887.          if(_scaleX == param1)
  888.          {
  889.             return;
  890.          }
  891.          _scaleX = param1;
  892.          invalidateProperties();
  893.          invalidateSize();
  894.          dispatchEvent(new Event("scaleXChanged"));
  895.       }
  896.       
  897.       override public function set scaleY(param1:Number) : void
  898.       {
  899.          if(_scaleY == param1)
  900.          {
  901.             return;
  902.          }
  903.          _scaleY = param1;
  904.          invalidateProperties();
  905.          invalidateSize();
  906.          dispatchEvent(new Event("scaleYChanged"));
  907.       }
  908.       
  909.       protected function keyUpHandler(param1:KeyboardEvent) : void
  910.       {
  911.       }
  912.       
  913.       override public function get parent() : DisplayObjectContainer
  914.       {
  915.          return !!mx_internal::_parent ? mx_internal::_parent : super.parent;
  916.       }
  917.       
  918.       mx_internal function get isEffectStarted() : Boolean
  919.       {
  920.          return _isEffectStarted;
  921.       }
  922.       
  923.       public function set uid(param1:String) : void
  924.       {
  925.          this._uid = param1;
  926.       }
  927.       
  928.       mx_internal function adjustSizesForScaleChanges() : void
  929.       {
  930.          var _loc1_:Number = NaN;
  931.          var _loc2_:Number = NaN;
  932.          var _loc3_:Number = NaN;
  933.          _loc1_ = scaleX;
  934.          _loc2_ = scaleY;
  935.          if(_loc1_ != oldScaleX)
  936.          {
  937.             _loc3_ = Math.abs(_loc1_ / oldScaleX);
  938.             if(explicitMinWidth)
  939.             {
  940.                explicitMinWidth *= _loc3_;
  941.             }
  942.             if(!isNaN(explicitWidth))
  943.             {
  944.                explicitWidth *= _loc3_;
  945.             }
  946.             if(explicitMaxWidth)
  947.             {
  948.                explicitMaxWidth *= _loc3_;
  949.             }
  950.             oldScaleX = _loc1_;
  951.          }
  952.          if(_loc2_ != oldScaleY)
  953.          {
  954.             _loc3_ = Math.abs(_loc2_ / oldScaleY);
  955.             if(explicitMinHeight)
  956.             {
  957.                explicitMinHeight *= _loc3_;
  958.             }
  959.             if(explicitHeight)
  960.             {
  961.                explicitHeight *= _loc3_;
  962.             }
  963.             if(explicitMaxHeight)
  964.             {
  965.                explicitMaxHeight *= _loc3_;
  966.             }
  967.             oldScaleY = _loc2_;
  968.          }
  969.       }
  970.       
  971.       public function set focusPane(param1:Sprite) : void
  972.       {
  973.          if(param1)
  974.          {
  975.             addChild(param1);
  976.             param1.x = 0;
  977.             param1.y = 0;
  978.             param1.scrollRect = null;
  979.             _focusPane = param1;
  980.          }
  981.          else
  982.          {
  983.             removeChild(_focusPane);
  984.             _focusPane = null;
  985.          }
  986.       }
  987.       
  988.       public function determineTextFormatFromStyles() : UITextFormat
  989.       {
  990.          var _loc1_:UITextFormat = null;
  991.          _loc1_ = cachedTextFormat;
  992.          if(!_loc1_)
  993.          {
  994.             _loc1_ = new UITextFormat(systemManager);
  995.             _loc1_.align = _inheritingStyles.textAlign;
  996.             _loc1_.bold = _inheritingStyles.fontWeight == "bold";
  997.             _loc1_.color = enabled ? _inheritingStyles.color : _inheritingStyles.disabledColor;
  998.             _loc1_.font = StringUtil.trimArrayElements(_inheritingStyles.fontFamily,",");
  999.             _loc1_.indent = _inheritingStyles.textIndent;
  1000.             _loc1_.italic = _inheritingStyles.fontStyle == "italic";
  1001.             _loc1_.kerning = _inheritingStyles.kerning;
  1002.             _loc1_.leading = _nonInheritingStyles.leading;
  1003.             _loc1_.leftMargin = _nonInheritingStyles.paddingLeft;
  1004.             _loc1_.letterSpacing = _inheritingStyles.letterSpacing;
  1005.             _loc1_.rightMargin = _nonInheritingStyles.paddingRight;
  1006.             _loc1_.size = _inheritingStyles.fontSize;
  1007.             _loc1_.underline = _nonInheritingStyles.textDecoration == "underline";
  1008.             _loc1_.antiAliasType = _inheritingStyles.fontAntiAliasType;
  1009.             _loc1_.gridFitType = _inheritingStyles.fontGridFitType;
  1010.             _loc1_.sharpness = _inheritingStyles.fontSharpness;
  1011.             _loc1_.thickness = _inheritingStyles.fontThickness;
  1012.             cachedTextFormat = _loc1_;
  1013.          }
  1014.          return _loc1_;
  1015.       }
  1016.       
  1017.       public function getAutomationChildAt(param1:int) : IAutomationObject
  1018.       {
  1019.          if(automationDelegate)
  1020.          {
  1021.             return automationDelegate.getAutomationChildAt(param1);
  1022.          }
  1023.          return null;
  1024.       }
  1025.       
  1026.       private function focusObj_resizeHandler(param1:ResizeEvent) : void
  1027.       {
  1028.          adjustFocusRect();
  1029.       }
  1030.       
  1031.       public function validationResultHandler(param1:ValidationResultEvent) : void
  1032.       {
  1033.          var _loc2_:String = null;
  1034.          var _loc3_:ValidationResult = null;
  1035.          var _loc4_:int = 0;
  1036.          if(param1.type == ValidationResultEvent.VALID)
  1037.          {
  1038.             if(errorString != "")
  1039.             {
  1040.                errorString = "";
  1041.                dispatchEvent(new FlexEvent(FlexEvent.VALID));
  1042.             }
  1043.          }
  1044.          else
  1045.          {
  1046.             if(validationSubField != null && validationSubField != "" && Boolean(param1.results))
  1047.             {
  1048.                _loc4_ = 0;
  1049.                while(_loc4_ < param1.results.length)
  1050.                {
  1051.                   _loc3_ = param1.results[_loc4_];
  1052.                   if(_loc3_.subField == validationSubField)
  1053.                   {
  1054.                      if(_loc3_.isError)
  1055.                      {
  1056.                         _loc2_ = _loc3_.errorMessage;
  1057.                      }
  1058.                      else if(errorString != "")
  1059.                      {
  1060.                         errorString = "";
  1061.                         dispatchEvent(new FlexEvent(FlexEvent.VALID));
  1062.                      }
  1063.                      break;
  1064.                   }
  1065.                   _loc4_++;
  1066.                }
  1067.             }
  1068.             else if(Boolean(param1.results) && param1.results.length > 0)
  1069.             {
  1070.                _loc2_ = param1.results[0].errorMessage;
  1071.             }
  1072.             if(Boolean(_loc2_) && errorString != _loc2_)
  1073.             {
  1074.                errorString = _loc2_;
  1075.                dispatchEvent(new FlexEvent(FlexEvent.INVALID));
  1076.             }
  1077.          }
  1078.       }
  1079.       
  1080.       public function invalidateProperties() : void
  1081.       {
  1082.          if(!mx_internal::invalidatePropertiesFlag)
  1083.          {
  1084.             mx_internal::invalidatePropertiesFlag = true;
  1085.             if(Boolean(parent) && Boolean(UIComponentGlobals.mx_internal::layoutManager))
  1086.             {
  1087.                UIComponentGlobals.mx_internal::layoutManager.invalidateProperties(this);
  1088.             }
  1089.          }
  1090.       }
  1091.       
  1092.       public function get inheritingStyles() : Object
  1093.       {
  1094.          return _inheritingStyles;
  1095.       }
  1096.       
  1097.       public function setActualSize(param1:Number, param2:Number) : void
  1098.       {
  1099.          var _loc3_:Boolean = false;
  1100.          _loc3_ = false;
  1101.          if(mx_internal::_width != param1)
  1102.          {
  1103.             mx_internal::_width = param1;
  1104.             dispatchEvent(new Event("widthChanged"));
  1105.             _loc3_ = true;
  1106.          }
  1107.          if(mx_internal::_height != param2)
  1108.          {
  1109.             mx_internal::_height = param2;
  1110.             dispatchEvent(new Event("heightChanged"));
  1111.             _loc3_ = true;
  1112.          }
  1113.          if(_loc3_)
  1114.          {
  1115.             invalidateDisplayList();
  1116.             dispatchResizeEvent();
  1117.          }
  1118.       }
  1119.       
  1120.       final mx_internal function get $x() : Number
  1121.       {
  1122.          return super.x;
  1123.       }
  1124.       
  1125.       final mx_internal function get $y() : Number
  1126.       {
  1127.          return super.y;
  1128.       }
  1129.       
  1130.       override public function set visible(param1:Boolean) : void
  1131.       {
  1132.          setVisible(param1);
  1133.       }
  1134.       
  1135.       public function registerEffects(param1:Array) : void
  1136.       {
  1137.          var _loc2_:int = 0;
  1138.          var _loc3_:int = 0;
  1139.          var _loc4_:String = null;
  1140.          _loc2_ = int(param1.length);
  1141.          _loc3_ = 0;
  1142.          while(_loc3_ < _loc2_)
  1143.          {
  1144.             _loc4_ = EffectManager.mx_internal::getEventForEffectTrigger(param1[_loc3_]);
  1145.             if(_loc4_ != null && _loc4_ != "")
  1146.             {
  1147.                addEventListener(_loc4_,EffectManager.mx_internal::eventHandler,false,EventPriority.EFFECT);
  1148.             }
  1149.             _loc3_++;
  1150.          }
  1151.       }
  1152.       
  1153.       public function createAutomationIDPart(param1:IAutomationObject) : Object
  1154.       {
  1155.          if(automationDelegate)
  1156.          {
  1157.             return automationDelegate.createAutomationIDPart(param1);
  1158.          }
  1159.          return null;
  1160.       }
  1161.       
  1162.       [Bindable("explicitMinWidthChanged")]
  1163.       public function get explicitMinWidth() : Number
  1164.       {
  1165.          return _explicitMinWidth;
  1166.       }
  1167.       
  1168.       private function filterChangeHandler(param1:Event) : void
  1169.       {
  1170.          super.filters = _filters;
  1171.       }
  1172.       
  1173.       override public function set x(param1:Number) : void
  1174.       {
  1175.          if(super.x == param1)
  1176.          {
  1177.             return;
  1178.          }
  1179.          super.x = param1;
  1180.          invalidateProperties();
  1181.          dispatchEvent(new Event("xChanged"));
  1182.       }
  1183.       
  1184.       override public function set y(param1:Number) : void
  1185.       {
  1186.          if(super.y == param1)
  1187.          {
  1188.             return;
  1189.          }
  1190.          super.y = param1;
  1191.          invalidateProperties();
  1192.          dispatchEvent(new Event("yChanged"));
  1193.       }
  1194.       
  1195.       public function set explicitHeight(param1:Number) : void
  1196.       {
  1197.          var _loc2_:IInvalidating = null;
  1198.          if(_explicitHeight == param1)
  1199.          {
  1200.             return;
  1201.          }
  1202.          if(!isNaN(param1))
  1203.          {
  1204.             _percentHeight = NaN;
  1205.          }
  1206.          _explicitHeight = param1;
  1207.          invalidateSize();
  1208.          _loc2_ = parent as IInvalidating;
  1209.          if(Boolean(_loc2_) && includeInLayout)
  1210.          {
  1211.             _loc2_.invalidateSize();
  1212.             _loc2_.invalidateDisplayList();
  1213.          }
  1214.          dispatchEvent(new Event("explicitHeightChanged"));
  1215.       }
  1216.       
  1217.       public function set showInAutomationHierarchy(param1:Boolean) : void
  1218.       {
  1219.          _showInAutomationHierarchy = param1;
  1220.       }
  1221.       
  1222.       public function set systemManager(param1:ISystemManager) : void
  1223.       {
  1224.          _systemManager = param1;
  1225.       }
  1226.       
  1227.       mx_internal function getFocusObject() : DisplayObject
  1228.       {
  1229.          var _loc1_:IFocusManager = null;
  1230.          _loc1_ = focusManager;
  1231.          if(!_loc1_ || !_loc1_.focusPane)
  1232.          {
  1233.             return null;
  1234.          }
  1235.          return _loc1_.focusPane.numChildren == 0 ? null : _loc1_.focusPane.getChildAt(0);
  1236.       }
  1237.       
  1238.       override public function addChild(param1:DisplayObject) : DisplayObject
  1239.       {
  1240.          var _loc2_:int = 0;
  1241.          _loc2_ = Boolean(mx_internal::overlayReferenceCount) && param1 != mx_internal::overlay ? int(Math.max(0,super.numChildren - 1)) : super.numChildren;
  1242.          mx_internal::addingChild(param1);
  1243.          mx_internal::$addChildAt(param1,_loc2_);
  1244.          mx_internal::childAdded(param1);
  1245.          return param1;
  1246.       }
  1247.       
  1248.       public function get moduleFactory() : IFlexModuleFactory
  1249.       {
  1250.          return _moduleFactory;
  1251.       }
  1252.       
  1253.       public function set percentWidth(param1:Number) : void
  1254.       {
  1255.          var _loc2_:IInvalidating = null;
  1256.          if(_percentWidth == param1)
  1257.          {
  1258.             return;
  1259.          }
  1260.          if(!isNaN(param1))
  1261.          {
  1262.             _explicitWidth = NaN;
  1263.          }
  1264.          _percentWidth = param1;
  1265.          _loc2_ = parent as IInvalidating;
  1266.          if(_loc2_)
  1267.          {
  1268.             _loc2_.invalidateSize();
  1269.             _loc2_.invalidateDisplayList();
  1270.          }
  1271.       }
  1272.       
  1273.       public function get document() : Object
  1274.       {
  1275.          return mx_internal::_document;
  1276.       }
  1277.       
  1278.       public function set mouseFocusEnabled(param1:Boolean) : void
  1279.       {
  1280.          _mouseFocusEnabled = param1;
  1281.       }
  1282.       
  1283.       final mx_internal function $addChild(param1:DisplayObject) : DisplayObject
  1284.       {
  1285.          return super.addChild(param1);
  1286.       }
  1287.       
  1288.       mx_internal function setThemeColor(param1:Object) : void
  1289.       {
  1290.          var _loc2_:Number = NaN;
  1291.          var _loc3_:Number = NaN;
  1292.          var _loc4_:Number = NaN;
  1293.          if(_loc2_ is String)
  1294.          {
  1295.             _loc2_ = parseInt(String(param1));
  1296.          }
  1297.          else
  1298.          {
  1299.             _loc2_ = Number(param1);
  1300.          }
  1301.          if(isNaN(_loc2_))
  1302.          {
  1303.             _loc2_ = StyleManager.getColorName(param1);
  1304.          }
  1305.          _loc3_ = ColorUtil.adjustBrightness2(_loc2_,50);
  1306.          _loc4_ = ColorUtil.adjustBrightness2(_loc2_,70);
  1307.          setStyle("selectionColor",_loc3_);
  1308.          setStyle("rollOverColor",_loc4_);
  1309.       }
  1310.       
  1311.       [Bindable("heightChanged")]
  1312.       override public function get height() : Number
  1313.       {
  1314.          return mx_internal::_height;
  1315.       }
  1316.       
  1317.       public function get id() : String
  1318.       {
  1319.          return _id;
  1320.       }
  1321.       
  1322.       public function set minWidth(param1:Number) : void
  1323.       {
  1324.          if(explicitMinWidth == param1)
  1325.          {
  1326.             return;
  1327.          }
  1328.          explicitMinWidth = param1;
  1329.       }
  1330.       
  1331.       public function set currentState(param1:String) : void
  1332.       {
  1333.          setCurrentState(param1,true);
  1334.       }
  1335.       
  1336.       public function getRepeaterItem(param1:int = -1) : Object
  1337.       {
  1338.          var _loc2_:Array = null;
  1339.          _loc2_ = repeaters;
  1340.          if(param1 == -1)
  1341.          {
  1342.             param1 = int(_loc2_.length - 1);
  1343.          }
  1344.          return _loc2_[param1].getItemAt(repeaterIndices[param1]);
  1345.       }
  1346.       
  1347.       public function executeBindings(param1:Boolean = false) : void
  1348.       {
  1349.          var _loc2_:Object = null;
  1350.          _loc2_ = Boolean(descriptor) && Boolean(descriptor.document) ? descriptor.document : parentDocument;
  1351.          BindingManager.executeBindings(_loc2_,id,this);
  1352.       }
  1353.       
  1354.       public function replayAutomatableEvent(param1:Event) : Boolean
  1355.       {
  1356.          if(automationDelegate)
  1357.          {
  1358.             return automationDelegate.replayAutomatableEvent(param1);
  1359.          }
  1360.          return false;
  1361.       }
  1362.       
  1363.       public function get instanceIndex() : int
  1364.       {
  1365.          return !!_instanceIndices ? int(_instanceIndices[_instanceIndices.length - 1]) : -1;
  1366.       }
  1367.       
  1368.       [Bindable("explicitMaxWidthChanged")]
  1369.       public function get explicitMaxWidth() : Number
  1370.       {
  1371.          return mx_internal::_explicitMaxWidth;
  1372.       }
  1373.       
  1374.       public function effectFinished(param1:EffectInstance) : void
  1375.       {
  1376.          _endingEffectInstances.push(param1);
  1377.          invalidateProperties();
  1378.          UIComponentGlobals.mx_internal::layoutManager.addEventListener(FlexEvent.UPDATE_COMPLETE,updateCompleteHandler,false,0,true);
  1379.       }
  1380.       
  1381.       public function set measuredWidth(param1:Number) : void
  1382.       {
  1383.          _measuredWidth = param1;
  1384.       }
  1385.       
  1386.       override public function removeChildAt(param1:int) : DisplayObject
  1387.       {
  1388.          var _loc2_:DisplayObject = null;
  1389.          _loc2_ = getChildAt(param1);
  1390.          mx_internal::removingChild(_loc2_);
  1391.          mx_internal::$removeChild(_loc2_);
  1392.          mx_internal::childRemoved(_loc2_);
  1393.          return _loc2_;
  1394.       }
  1395.       
  1396.       mx_internal function set isEffectStarted(param1:Boolean) : void
  1397.       {
  1398.          _isEffectStarted = param1;
  1399.       }
  1400.       
  1401.       mx_internal function fillOverlay(param1:UIComponent, param2:uint, param3:RoundedRectangle = null) : void
  1402.       {
  1403.          var _loc4_:Graphics = null;
  1404.          if(!param3)
  1405.          {
  1406.             param3 = new RoundedRectangle(0,0,unscaledWidth,unscaledHeight,0);
  1407.          }
  1408.          _loc4_ = param1.graphics;
  1409.          _loc4_.clear();
  1410.          _loc4_.beginFill(param2);
  1411.          _loc4_.drawRoundRect(param3.x,param3.y,param3.width,param3.height,param3.cornerRadius * 2,param3.cornerRadius * 2);
  1412.          _loc4_.endFill();
  1413.       }
  1414.       
  1415.       mx_internal function childAdded(param1:DisplayObject) : void
  1416.       {
  1417.          if(param1 is UIComponent)
  1418.          {
  1419.             if(!UIComponent(param1).initialized)
  1420.             {
  1421.                UIComponent(param1).initialize();
  1422.             }
  1423.          }
  1424.          else if(param1 is IUIComponent)
  1425.          {
  1426.             IUIComponent(param1).initialize();
  1427.          }
  1428.       }
  1429.       
  1430.       public function globalToContent(param1:Point) : Point
  1431.       {
  1432.          return globalToLocal(param1);
  1433.       }
  1434.       
  1435.       public function get instanceIndices() : Array
  1436.       {
  1437.          return !!_instanceIndices ? _instanceIndices.slice(0) : null;
  1438.       }
  1439.       
  1440.       mx_internal function removingChild(param1:DisplayObject) : void
  1441.       {
  1442.       }
  1443.       
  1444.       private function getTransition(param1:String, param2:String) : Effect
  1445.       {
  1446.          var _loc3_:Effect = null;
  1447.          var _loc4_:int = 0;
  1448.          var _loc5_:int = 0;
  1449.          var _loc6_:Transition = null;
  1450.          _loc3_ = null;
  1451.          _loc4_ = 0;
  1452.          if(!transitions)
  1453.          {
  1454.             return null;
  1455.          }
  1456.          if(!param1)
  1457.          {
  1458.             param1 = "";
  1459.          }
  1460.          if(!param2)
  1461.          {
  1462.             param2 = "";
  1463.          }
  1464.          _loc5_ = 0;
  1465.          while(_loc5_ < transitions.length)
  1466.          {
  1467.             _loc6_ = transitions[_loc5_];
  1468.             if(_loc6_.fromState == "*" && _loc6_.toState == "*" && _loc4_ < 1)
  1469.             {
  1470.                _loc3_ = _loc6_.effect;
  1471.                _loc4_ = 1;
  1472.             }
  1473.             else if(_loc6_.fromState == param1 && _loc6_.toState == "*" && _loc4_ < 2)
  1474.             {
  1475.                _loc3_ = _loc6_.effect;
  1476.                _loc4_ = 2;
  1477.             }
  1478.             else if(_loc6_.fromState == "*" && _loc6_.toState == param2 && _loc4_ < 3)
  1479.             {
  1480.                _loc3_ = _loc6_.effect;
  1481.                _loc4_ = 3;
  1482.             }
  1483.             else if(_loc6_.fromState == param1 && _loc6_.toState == param2 && _loc4_ < 4)
  1484.             {
  1485.                _loc3_ = _loc6_.effect;
  1486.                _loc4_ = 4;
  1487.                break;
  1488.             }
  1489.             _loc5_++;
  1490.          }
  1491.          return _loc3_;
  1492.       }
  1493.       
  1494.       public function set owner(param1:DisplayObjectContainer) : void
  1495.       {
  1496.          _owner = param1;
  1497.       }
  1498.       
  1499.       mx_internal function getEffectsForProperty(param1:String) : Array
  1500.       {
  1501.          return mx_internal::_affectedProperties[param1] != undefined ? mx_internal::_affectedProperties[param1] : [];
  1502.       }
  1503.       
  1504.       protected function get unscaledWidth() : Number
  1505.       {
  1506.          return width / Math.abs(scaleX);
  1507.       }
  1508.       
  1509.       public function set processedDescriptors(param1:Boolean) : void
  1510.       {
  1511.          _processedDescriptors = param1;
  1512.          if(param1)
  1513.          {
  1514.             dispatchEvent(new FlexEvent(FlexEvent.INITIALIZE));
  1515.          }
  1516.       }
  1517.       
  1518.       private function processEffectFinished(param1:Array) : void
  1519.       {
  1520.          var _loc2_:int = 0;
  1521.          var _loc3_:int = 0;
  1522.          var _loc4_:EffectInstance = null;
  1523.          var _loc5_:EffectInstance = null;
  1524.          var _loc6_:Array = null;
  1525.          var _loc7_:int = 0;
  1526.          var _loc8_:String = null;
  1527.          var _loc9_:int = 0;
  1528.          _loc2_ = int(mx_internal::_effectsStarted.length - 1);
  1529.          while(_loc2_ >= 0)
  1530.          {
  1531.             _loc3_ = 0;
  1532.             while(_loc3_ < param1.length)
  1533.             {
  1534.                _loc4_ = param1[_loc3_];
  1535.                if(_loc4_ == mx_internal::_effectsStarted[_loc2_])
  1536.                {
  1537.                   _loc5_ = mx_internal::_effectsStarted[_loc2_];
  1538.                   mx_internal::_effectsStarted.splice(_loc2_,1);
  1539.                   _loc6_ = _loc5_.effect.getAffectedProperties();
  1540.                   _loc7_ = 0;
  1541.                   while(_loc7_ < _loc6_.length)
  1542.                   {
  1543.                      _loc8_ = _loc6_[_loc7_];
  1544.                      if(mx_internal::_affectedProperties[_loc8_] != undefined)
  1545.                      {
  1546.                         _loc9_ = 0;
  1547.                         while(_loc9_ < mx_internal::_affectedProperties[_loc8_].length)
  1548.                         {
  1549.                            if(mx_internal::_affectedProperties[_loc8_][_loc9_] == _loc4_)
  1550.                            {
  1551.                               mx_internal::_affectedProperties[_loc8_].splice(_loc9_,1);
  1552.                               break;
  1553.                            }
  1554.                            _loc9_++;
  1555.                         }
  1556.                         if(mx_internal::_affectedProperties[_loc8_].length == 0)
  1557.                         {
  1558.                            delete mx_internal::_affectedProperties[_loc8_];
  1559.                         }
  1560.                      }
  1561.                      _loc7_++;
  1562.                   }
  1563.                   break;
  1564.                }
  1565.                _loc3_++;
  1566.             }
  1567.             _loc2_--;
  1568.          }
  1569.          mx_internal::isEffectStarted = mx_internal::_effectsStarted.length > 0 ? true : false;
  1570.       }
  1571.       
  1572.       protected function measure() : void
  1573.       {
  1574.          measuredWidth = !isNaN(mx_internal::_width) ? mx_internal::_width : 0;
  1575.          measuredHeight = !isNaN(mx_internal::_height) ? mx_internal::_height : 0;
  1576.       }
  1577.       
  1578.       private function dispatchResizeEvent() : void
  1579.       {
  1580.          var _loc1_:ResizeEvent = null;
  1581.          _loc1_ = new ResizeEvent(ResizeEvent.RESIZE);
  1582.          _loc1_.oldWidth = oldWidth;
  1583.          _loc1_.oldHeight = oldHeight;
  1584.          dispatchEvent(_loc1_);
  1585.          oldWidth = width;
  1586.          oldHeight = height;
  1587.       }
  1588.       
  1589.       [Bindable("includeInLayoutChanged")]
  1590.       public function get includeInLayout() : Boolean
  1591.       {
  1592.          return _includeInLayout;
  1593.       }
  1594.       
  1595.       public function set maxWidth(param1:Number) : void
  1596.       {
  1597.          if(explicitMaxWidth == param1)
  1598.          {
  1599.             return;
  1600.          }
  1601.          explicitMaxWidth = param1;
  1602.       }
  1603.       
  1604.       public function validateDisplayList() : void
  1605.       {
  1606.          var _loc1_:ISystemManager = null;
  1607.          if(mx_internal::invalidateDisplayListFlag)
  1608.          {
  1609.             _loc1_ = parent as ISystemManager;
  1610.             if(_loc1_)
  1611.             {
  1612.                if(_loc1_ == systemManager.topLevelSystemManager && _loc1_.document != this)
  1613.                {
  1614.                   setActualSize(getExplicitOrMeasuredWidth(),getExplicitOrMeasuredHeight());
  1615.                }
  1616.             }
  1617.             updateDisplayList(scaleX == 0 ? 0 : width / scaleX,scaleY == 0 ? 0 : height / scaleY);
  1618.             mx_internal::invalidateDisplayListFlag = false;
  1619.          }
  1620.       }
  1621.       
  1622.       public function contentToGlobal(param1:Point) : Point
  1623.       {
  1624.          return localToGlobal(param1);
  1625.       }
  1626.       
  1627.       public function resolveAutomationIDPart(param1:Object) : Array
  1628.       {
  1629.          if(automationDelegate)
  1630.          {
  1631.             return automationDelegate.resolveAutomationIDPart(param1);
  1632.          }
  1633.          return [];
  1634.       }
  1635.       
  1636.       public function setFocus() : void
  1637.       {
  1638.          var _loc1_:ISystemManager = null;
  1639.          _loc1_ = systemManager;
  1640.          if(Boolean(_loc1_) && Boolean(_loc1_.stage))
  1641.          {
  1642.             if(UIComponentGlobals.mx_internal::callLaterDispatcherCount == 0)
  1643.             {
  1644.                _loc1_.stage.focus = this;
  1645.                UIComponentGlobals.mx_internal::nextFocusObject = null;
  1646.             }
  1647.             else
  1648.             {
  1649.                UIComponentGlobals.mx_internal::nextFocusObject = this;
  1650.                _loc1_.stage.addEventListener(Event.ENTER_FRAME,setFocusLater);
  1651.             }
  1652.          }
  1653.          else
  1654.          {
  1655.             UIComponentGlobals.mx_internal::nextFocusObject = this;
  1656.             callLater(setFocusLater);
  1657.          }
  1658.       }
  1659.       
  1660.       public function set inheritingStyles(param1:Object) : void
  1661.       {
  1662.          _inheritingStyles = param1;
  1663.       }
  1664.       
  1665.       public function set initialized(param1:Boolean) : void
  1666.       {
  1667.          _initialized = param1;
  1668.          if(param1)
  1669.          {
  1670.             setVisible(_visible,true);
  1671.             dispatchEvent(new FlexEvent(FlexEvent.CREATION_COMPLETE));
  1672.          }
  1673.       }
  1674.       
  1675.       public function owns(param1:DisplayObject) : Boolean
  1676.       {
  1677.          var _loc2_:IChildList = null;
  1678.          _loc2_ = this is IRawChildrenContainer ? IRawChildrenContainer(this).rawChildren : IChildList(this);
  1679.          if(_loc2_.contains(param1))
  1680.          {
  1681.             return true;
  1682.          }
  1683.          while(Boolean(param1) && param1 != this)
  1684.          {
  1685.             if(param1 is IUIComponent)
  1686.             {
  1687.                param1 = IUIComponent(param1).owner;
  1688.             }
  1689.             else
  1690.             {
  1691.                param1 = param1.parent;
  1692.             }
  1693.          }
  1694.          return param1 == this;
  1695.       }
  1696.       
  1697.       public function setVisible(param1:Boolean, param2:Boolean = false) : void
  1698.       {
  1699.          _visible = param1;
  1700.          if(!initialized)
  1701.          {
  1702.             return;
  1703.          }
  1704.          if(mx_internal::$visible == param1)
  1705.          {
  1706.             return;
  1707.          }
  1708.          mx_internal::$visible = param1;
  1709.          if(!param2)
  1710.          {
  1711.             dispatchEvent(new FlexEvent(param1 ? FlexEvent.SHOW : FlexEvent.HIDE));
  1712.          }
  1713.       }
  1714.       
  1715.       final mx_internal function set $y(param1:Number) : void
  1716.       {
  1717.          super.y = param1;
  1718.       }
  1719.       
  1720.       final mx_internal function $addChildAt(param1:DisplayObject, param2:int) : DisplayObject
  1721.       {
  1722.          return super.addChildAt(param1,param2);
  1723.       }
  1724.       
  1725.       public function deleteReferenceOnParentDocument(param1:IFlexDisplayObject) : void
  1726.       {
  1727.          var _loc2_:Array = null;
  1728.          var _loc3_:Object = null;
  1729.          var _loc4_:Array = null;
  1730.          var _loc5_:int = 0;
  1731.          var _loc6_:int = 0;
  1732.          var _loc7_:int = 0;
  1733.          var _loc8_:Object = null;
  1734.          var _loc9_:PropertyChangeEvent = null;
  1735.          if(Boolean(id) && id != "")
  1736.          {
  1737.             _loc2_ = _instanceIndices;
  1738.             if(!_loc2_)
  1739.             {
  1740.                param1[id] = null;
  1741.             }
  1742.             else
  1743.             {
  1744.                _loc3_ = param1[id];
  1745.                if(!_loc3_)
  1746.                {
  1747.                   return;
  1748.                }
  1749.                _loc4_ = [];
  1750.                _loc4_.push(_loc3_);
  1751.                _loc5_ = int(_loc2_.length);
  1752.                _loc6_ = 0;
  1753.                while(_loc6_ < _loc5_ - 1)
  1754.                {
  1755.                   _loc8_ = _loc3_[_loc2_[_loc6_]];
  1756.                   if(!_loc8_)
  1757.                   {
  1758.                      return;
  1759.                   }
  1760.                   _loc3_ = _loc8_;
  1761.                   _loc4_.push(_loc3_);
  1762.                   _loc6_++;
  1763.                }
  1764.                _loc3_.splice(_loc2_[_loc5_ - 1],1);
  1765.                _loc7_ = int(_loc4_.length - 1);
  1766.                while(_loc7_ > 0)
  1767.                {
  1768.                   if(_loc4_[_loc7_].length == 0)
  1769.                   {
  1770.                      _loc4_[_loc7_ - 1].splice(_loc2_[_loc7_],1);
  1771.                   }
  1772.                   _loc7_--;
  1773.                }
  1774.                if(_loc4_.length > 0 && _loc4_[0].length == 0)
  1775.                {
  1776.                   param1[id] = null;
  1777.                }
  1778.                else
  1779.                {
  1780.                   _loc9_ = PropertyChangeEvent.createUpdateEvent(param1,id,param1[id],param1[id]);
  1781.                   param1.dispatchEvent(_loc9_);
  1782.                }
  1783.             }
  1784.          }
  1785.       }
  1786.       
  1787.       private function commitCurrentState() : void
  1788.       {
  1789.          var _loc1_:Effect = null;
  1790.          var _loc2_:String = null;
  1791.          var _loc3_:StateChangeEvent = null;
  1792.          var _loc4_:String = null;
  1793.          var _loc5_:State = null;
  1794.          _loc1_ = playStateTransition ? getTransition(_currentState,requestedCurrentState) : null;
  1795.          _loc2_ = findCommonBaseState(_currentState,requestedCurrentState);
  1796.          _loc4_ = !!_currentState ? _currentState : "";
  1797.          _loc5_ = getState(requestedCurrentState);
  1798.          if(_currentTransitionEffect)
  1799.          {
  1800.             _currentTransitionEffect.end();
  1801.          }
  1802.          initializeState(requestedCurrentState);
  1803.          if(_loc1_)
  1804.          {
  1805.             _loc1_.captureStartValues();
  1806.          }
  1807.          _loc3_ = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGING);
  1808.          _loc3_.oldState = _loc4_;
  1809.          _loc3_.newState = !!requestedCurrentState ? requestedCurrentState : "";
  1810.          dispatchEvent(_loc3_);
  1811.          if(isBaseState(_currentState))
  1812.          {
  1813.             dispatchEvent(new FlexEvent(FlexEvent.EXIT_STATE));
  1814.          }
  1815.          removeState(_currentState,_loc2_);
  1816.          _currentState = requestedCurrentState;
  1817.          if(isBaseState(currentState))
  1818.          {
  1819.             dispatchEvent(new FlexEvent(FlexEvent.ENTER_STATE));
  1820.          }
  1821.          else
  1822.          {
  1823.             applyState(_currentState,_loc2_);
  1824.          }
  1825.          _loc3_ = new StateChangeEvent(StateChangeEvent.CURRENT_STATE_CHANGE);
  1826.          _loc3_.oldState = _loc4_;
  1827.          _loc3_.newState = !!_currentState ? _currentState : "";
  1828.          dispatchEvent(_loc3_);
  1829.          if(_loc1_)
  1830.          {
  1831.             UIComponentGlobals.mx_internal::layoutManager.validateNow();
  1832.             _currentTransitionEffect = _loc1_;
  1833.             _loc1_.addEventListener(EffectEvent.EFFECT_END,transition_effectEndHandler);
  1834.             _loc1_.play();
  1835.          }
  1836.       }
  1837.       
  1838.       public function get nonInheritingStyles() : Object
  1839.       {
  1840.          return _nonInheritingStyles;
  1841.       }
  1842.       
  1843.       final mx_internal function set $x(param1:Number) : void
  1844.       {
  1845.          super.x = param1;
  1846.       }
  1847.       
  1848.       private function applyState(param1:String, param2:String) : void
  1849.       {
  1850.          var _loc3_:State = null;
  1851.          var _loc4_:Array = null;
  1852.          var _loc5_:int = 0;
  1853.          _loc3_ = getState(param1);
  1854.          if(_loc3_)
  1855.          {
  1856.             if(_loc3_.basedOn != param2)
  1857.             {
  1858.                applyState(_loc3_.basedOn,param2);
  1859.             }
  1860.             _loc4_ = _loc3_.overrides;
  1861.             _loc5_ = 0;
  1862.             while(_loc5_ < _loc4_.length)
  1863.             {
  1864.                _loc4_[_loc5_].apply(this);
  1865.                _loc5_++;
  1866.             }
  1867.             _loc3_.mx_internal::dispatchEnterState();
  1868.          }
  1869.       }
  1870.       
  1871.       [Bindable("widthChanged")]
  1872.       override public function get width() : Number
  1873.       {
  1874.          return mx_internal::_width;
  1875.       }
  1876.       
  1877.       public function effectStarted(param1:EffectInstance) : void
  1878.       {
  1879.          var _loc2_:Array = null;
  1880.          var _loc3_:int = 0;
  1881.          var _loc4_:String = null;
  1882.          mx_internal::_effectsStarted.push(param1);
  1883.          _loc2_ = param1.effect.getAffectedProperties();
  1884.          _loc3_ = 0;
  1885.          while(_loc3_ < _loc2_.length)
  1886.          {
  1887.             _loc4_ = _loc2_[_loc3_];
  1888.             if(mx_internal::_affectedProperties[_loc4_] == undefined)
  1889.             {
  1890.                mx_internal::_affectedProperties[_loc4_] = [];
  1891.             }
  1892.             mx_internal::_affectedProperties[_loc4_].push(param1);
  1893.             _loc3_++;
  1894.          }
  1895.          mx_internal::isEffectStarted = true;
  1896.       }
  1897.       
  1898.       protected function commitProperties() : void
  1899.       {
  1900.          var _loc1_:Number = NaN;
  1901.          var _loc2_:Number = NaN;
  1902.          if(_scaleX != oldScaleX)
  1903.          {
  1904.             _loc1_ = Math.abs(_scaleX / oldScaleX);
  1905.             if(!isNaN(explicitMinWidth))
  1906.             {
  1907.                explicitMinWidth *= _loc1_;
  1908.             }
  1909.             if(!isNaN(explicitWidth))
  1910.             {
  1911.                explicitWidth *= _loc1_;
  1912.             }
  1913.             if(!isNaN(explicitMaxWidth))
  1914.             {
  1915.                explicitMaxWidth *= _loc1_;
  1916.             }
  1917.             mx_internal::_width *= _loc1_;
  1918.             super.scaleX = oldScaleX = _scaleX;
  1919.          }
  1920.          if(_scaleY != oldScaleY)
  1921.          {
  1922.             _loc2_ = Math.abs(_scaleY / oldScaleY);
  1923.             if(!isNaN(explicitMinHeight))
  1924.             {
  1925.                explicitMinHeight *= _loc2_;
  1926.             }
  1927.             if(!isNaN(explicitHeight))
  1928.             {
  1929.                explicitHeight *= _loc2_;
  1930.             }
  1931.             if(!isNaN(explicitMaxHeight))
  1932.             {
  1933.                explicitMaxHeight *= _loc2_;
  1934.             }
  1935.             mx_internal::_height *= _loc2_;
  1936.             super.scaleY = oldScaleY = _scaleY;
  1937.          }
  1938.          if(x != oldX || y != oldY)
  1939.          {
  1940.             dispatchMoveEvent();
  1941.          }
  1942.          if(width != oldWidth || height != oldHeight)
  1943.          {
  1944.             dispatchResizeEvent();
  1945.          }
  1946.          if(errorStringChanged)
  1947.          {
  1948.             errorStringChanged = false;
  1949.             setBorderColorForErrorString();
  1950.          }
  1951.       }
  1952.       
  1953.       [Bindable("resize")]
  1954.       public function get percentHeight() : Number
  1955.       {
  1956.          return _percentHeight;
  1957.       }
  1958.       
  1959.       final mx_internal function get $parent() : DisplayObjectContainer
  1960.       {
  1961.          return super.parent;
  1962.       }
  1963.       
  1964.       public function set explicitMinWidth(param1:Number) : void
  1965.       {
  1966.          var _loc2_:IInvalidating = null;
  1967.          if(_explicitMinWidth == param1)
  1968.          {
  1969.             return;
  1970.          }
  1971.          _explicitMinWidth = param1;
  1972.          invalidateSize();
  1973.          _loc2_ = parent as IInvalidating;
  1974.          if(_loc2_)
  1975.          {
  1976.             _loc2_.invalidateSize();
  1977.             _loc2_.invalidateDisplayList();
  1978.          }
  1979.          dispatchEvent(new Event("explicitMinWidthChanged"));
  1980.       }
  1981.       
  1982.       public function get isPopUp() : Boolean
  1983.       {
  1984.          return _isPopUp;
  1985.       }
  1986.       
  1987.       private function measureSizes() : Boolean
  1988.       {
  1989.          var _loc1_:Boolean = false;
  1990.          var _loc2_:Number = NaN;
  1991.          var _loc3_:Number = NaN;
  1992.          var _loc4_:Number = NaN;
  1993.          var _loc5_:Number = NaN;
  1994.          _loc1_ = false;
  1995.          if(!mx_internal::invalidateSizeFlag)
  1996.          {
  1997.             return _loc1_;
  1998.          }
  1999.          if(isNaN(explicitWidth) || isNaN(explicitHeight))
  2000.          {
  2001.             _loc4_ = Math.abs(scaleX);
  2002.             _loc5_ = Math.abs(scaleY);
  2003.             if(_loc4_ != 1)
  2004.             {
  2005.                _measuredMinWidth /= _loc4_;
  2006.                _measuredWidth /= _loc4_;
  2007.             }
  2008.             if(_loc5_ != 1)
  2009.             {
  2010.                _measuredMinHeight /= _loc5_;
  2011.                _measuredHeight /= _loc5_;
  2012.             }
  2013.             measure();
  2014.             mx_internal::invalidateSizeFlag = false;
  2015.             if(!isNaN(explicitMinWidth) && measuredWidth < explicitMinWidth)
  2016.             {
  2017.                measuredWidth = explicitMinWidth;
  2018.             }
  2019.             if(!isNaN(explicitMaxWidth) && measuredWidth > explicitMaxWidth)
  2020.             {
  2021.                measuredWidth = explicitMaxWidth;
  2022.             }
  2023.             if(!isNaN(explicitMinHeight) && measuredHeight < explicitMinHeight)
  2024.             {
  2025.                measuredHeight = explicitMinHeight;
  2026.             }
  2027.             if(!isNaN(explicitMaxHeight) && measuredHeight > explicitMaxHeight)
  2028.             {
  2029.                measuredHeight = explicitMaxHeight;
  2030.             }
  2031.             if(_loc4_ != 1)
  2032.             {
  2033.                _measuredMinWidth *= _loc4_;
  2034.                _measuredWidth *= _loc4_;
  2035.             }
  2036.             if(_loc5_ != 1)
  2037.             {
  2038.                _measuredMinHeight *= _loc5_;
  2039.                _measuredHeight *= _loc5_;
  2040.             }
  2041.          }
  2042.          else
  2043.          {
  2044.             mx_internal::invalidateSizeFlag = false;
  2045.             _measuredMinWidth = 0;
  2046.             _measuredMinHeight = 0;
  2047.          }
  2048.          mx_internal::adjustSizesForScaleChanges();
  2049.          if(isNaN(oldMinWidth))
  2050.          {
  2051.             oldMinWidth = !isNaN(explicitMinWidth) ? explicitMinWidth : measuredMinWidth;
  2052.             oldMinHeight = !isNaN(explicitMinHeight) ? explicitMinHeight : measuredMinHeight;
  2053.             oldExplicitWidth = !isNaN(explicitWidth) ? explicitWidth : measuredWidth;
  2054.             oldExplicitHeight = !isNaN(explicitHeight) ? explicitHeight : measuredHeight;
  2055.             _loc1_ = true;
  2056.          }
  2057.          else
  2058.          {
  2059.             _loc3_ = !isNaN(explicitMinWidth) ? explicitMinWidth : measuredMinWidth;
  2060.             if(_loc3_ != oldMinWidth)
  2061.             {
  2062.                oldMinWidth = _loc3_;
  2063.                _loc1_ = true;
  2064.             }
  2065.             _loc3_ = !isNaN(explicitMinHeight) ? explicitMinHeight : measuredMinHeight;
  2066.             if(_loc3_ != oldMinHeight)
  2067.             {
  2068.                oldMinHeight = _loc3_;
  2069.                _loc1_ = true;
  2070.             }
  2071.             _loc3_ = !isNaN(explicitWidth) ? explicitWidth : measuredWidth;
  2072.             if(_loc3_ != oldExplicitWidth)
  2073.             {
  2074.                oldExplicitWidth = _loc3_;
  2075.                _loc1_ = true;
  2076.             }
  2077.             _loc3_ = !isNaN(explicitHeight) ? explicitHeight : measuredHeight;
  2078.             if(_loc3_ != oldExplicitHeight)
  2079.             {
  2080.                oldExplicitHeight = _loc3_;
  2081.                _loc1_ = true;
  2082.             }
  2083.          }
  2084.          return _loc1_;
  2085.       }
  2086.       
  2087.       public function get automationTabularData() : Object
  2088.       {
  2089.          if(automationDelegate)
  2090.          {
  2091.             return automationDelegate.automationTabularData;
  2092.          }
  2093.          return null;
  2094.       }
  2095.       
  2096.       public function validateNow() : void
  2097.       {
  2098.          UIComponentGlobals.mx_internal::layoutManager.validateClient(this);
  2099.       }
  2100.       
  2101.       public function finishPrint(param1:Object, param2:IFlexDisplayObject) : void
  2102.       {
  2103.       }
  2104.       
  2105.       public function get repeaters() : Array
  2106.       {
  2107.          return !!_repeaters ? _repeaters.slice(0) : [];
  2108.       }
  2109.       
  2110.       private function dispatchMoveEvent() : void
  2111.       {
  2112.          var _loc1_:MoveEvent = null;
  2113.          _loc1_ = new MoveEvent(MoveEvent.MOVE);
  2114.          _loc1_.oldX = oldX;
  2115.          _loc1_.oldY = oldY;
  2116.          dispatchEvent(_loc1_);
  2117.          oldX = x;
  2118.          oldY = y;
  2119.       }
  2120.       
  2121.       public function get measuredMinHeight() : Number
  2122.       {
  2123.          return _measuredMinHeight;
  2124.       }
  2125.       
  2126.       public function drawFocus(param1:Boolean) : void
  2127.       {
  2128.          var _loc2_:DisplayObject = null;
  2129.          var _loc3_:Sprite = null;
  2130.          var _loc4_:DisplayObjectContainer = null;
  2131.          var _loc5_:Class = null;
  2132.          if(!parent)
  2133.          {
  2134.             return;
  2135.          }
  2136.          _loc2_ = mx_internal::getFocusObject();
  2137.          _loc3_ = !!focusManager ? focusManager.focusPane : null;
  2138.          if(param1 && !mx_internal::isEffectStarted)
  2139.          {
  2140.             _loc4_ = _loc3_.parent;
  2141.             if(_loc4_ != parent)
  2142.             {
  2143.                if(_loc4_)
  2144.                {
  2145.                   if(_loc4_ is ISystemManager)
  2146.                   {
  2147.                      ISystemManager(_loc4_).focusPane = null;
  2148.                   }
  2149.                   else
  2150.                   {
  2151.                      IUIComponent(_loc4_).focusPane = null;
  2152.                   }
  2153.                }
  2154.                if(parent is ISystemManager)
  2155.                {
  2156.                   ISystemManager(parent).focusPane = _loc3_;
  2157.                }
  2158.                else
  2159.                {
  2160.                   IUIComponent(parent).focusPane = _loc3_;
  2161.                }
  2162.             }
  2163.             _loc5_ = getStyle("focusSkin");
  2164.             if(Boolean(_loc2_) && !(_loc2_ is _loc5_))
  2165.             {
  2166.                _loc3_.removeChild(_loc2_);
  2167.                _loc2_ = null;
  2168.             }
  2169.             if(!_loc2_)
  2170.             {
  2171.                _loc2_ = new _loc5_();
  2172.                _loc2_.name = "focus";
  2173.                _loc3_.addChild(_loc2_);
  2174.             }
  2175.             if(_loc2_ is ILayoutManagerClient)
  2176.             {
  2177.                ILayoutManagerClient(_loc2_).nestLevel = nestLevel;
  2178.             }
  2179.             if(_loc2_ is ISimpleStyleClient)
  2180.             {
  2181.                ISimpleStyleClient(_loc2_).styleName = this;
  2182.             }
  2183.             addEventListener(MoveEvent.MOVE,focusObj_moveHandler,true);
  2184.             addEventListener(MoveEvent.MOVE,focusObj_moveHandler);
  2185.             addEventListener(ResizeEvent.RESIZE,focusObj_resizeHandler,true);
  2186.             addEventListener(ResizeEvent.RESIZE,focusObj_resizeHandler);
  2187.             addEventListener(Event.REMOVED,focusObj_removedHandler,true);
  2188.             _loc2_.visible = true;
  2189.             hasFocusRect = true;
  2190.             adjustFocusRect();
  2191.          }
  2192.          else if(hasFocusRect)
  2193.          {
  2194.             if(_loc2_)
  2195.             {
  2196.                _loc2_.visible = false;
  2197.             }
  2198.             removeEventListener(MoveEvent.MOVE,focusObj_moveHandler);
  2199.             removeEventListener(MoveEvent.MOVE,focusObj_moveHandler,true);
  2200.             removeEventListener(ResizeEvent.RESIZE,focusObj_resizeHandler,true);
  2201.             removeEventListener(ResizeEvent.RESIZE,focusObj_resizeHandler);
  2202.             removeEventListener(Event.REMOVED,focusObj_removedHandler,true);
  2203.          }
  2204.       }
  2205.       
  2206.       private function get indexedID() : String
  2207.       {
  2208.          var _loc1_:String = null;
  2209.          var _loc2_:Array = null;
  2210.          _loc1_ = id;
  2211.          _loc2_ = instanceIndices;
  2212.          if(_loc2_)
  2213.          {
  2214.             _loc1_ += "[" + _loc2_.join("][") + "]";
  2215.          }
  2216.          return _loc1_;
  2217.       }
  2218.       
  2219.       mx_internal function addingChild(param1:DisplayObject) : void
  2220.       {
  2221.          if(param1 is IUIComponent && !IUIComponent(param1).document)
  2222.          {
  2223.             IUIComponent(param1).document = !!document ? document : Application.application;
  2224.          }
  2225.          if(param1 is IUIComponent)
  2226.          {
  2227.             IUIComponent(param1).parentChanged(this);
  2228.          }
  2229.          if(param1 is ILayoutManagerClient)
  2230.          {
  2231.             ILayoutManagerClient(param1).nestLevel = nestLevel + 1;
  2232.          }
  2233.          else if(param1 is UITextField)
  2234.          {
  2235.             UITextField(param1).nestLevel = nestLevel + 1;
  2236.          }
  2237.          if(param1 is InteractiveObject)
  2238.          {
  2239.             if(doubleClickEnabled)
  2240.             {
  2241.                InteractiveObject(param1).doubleClickEnabled = true;
  2242.             }
  2243.          }
  2244.          if(param1 is IStyleClient)
  2245.          {
  2246.             IStyleClient(param1).regenerateStyleCache(true);
  2247.          }
  2248.          else if(param1 is UITextField && Boolean(UITextField(param1).inheritingStyles))
  2249.          {
  2250.             StyleProtoChain.initTextField(UITextField(param1));
  2251.          }
  2252.          if(param1 is ISimpleStyleClient)
  2253.          {
  2254.             ISimpleStyleClient(param1).styleChanged(null);
  2255.          }
  2256.          if(param1 is IStyleClient)
  2257.          {
  2258.             IStyleClient(param1).notifyStyleChangeInChildren(null,true);
  2259.          }
  2260.          if(param1 is UIComponent)
  2261.          {
  2262.             UIComponent(param1).mx_internal::initThemeColor();
  2263.          }
  2264.          if(param1 is UIComponent)
  2265.          {
  2266.             UIComponent(param1).stylesInitialized();
  2267.          }
  2268.       }
  2269.       
  2270.       protected function initializationComplete() : void
  2271.       {
  2272.          processedDescriptors = true;
  2273.       }
  2274.       
  2275.       public function set moduleFactory(param1:IFlexModuleFactory) : void
  2276.       {
  2277.          _moduleFactory = param1;
  2278.       }
  2279.       
  2280.       public function set repeaterIndices(param1:Array) : void
  2281.       {
  2282.          _repeaterIndices = param1;
  2283.       }
  2284.       
  2285.       private function focusObj_removedHandler(param1:Event) : void
  2286.       {
  2287.          var _loc2_:DisplayObject = null;
  2288.          if(param1.target != this)
  2289.          {
  2290.             return;
  2291.          }
  2292.          _loc2_ = mx_internal::getFocusObject();
  2293.          if(_loc2_)
  2294.          {
  2295.             _loc2_.visible = false;
  2296.          }
  2297.       }
  2298.       
  2299.       mx_internal function updateCallbacks() : void
  2300.       {
  2301.          if(mx_internal::invalidateDisplayListFlag)
  2302.          {
  2303.             UIComponentGlobals.mx_internal::layoutManager.invalidateDisplayList(this);
  2304.          }
  2305.          if(mx_internal::invalidateSizeFlag)
  2306.          {
  2307.             UIComponentGlobals.mx_internal::layoutManager.invalidateSize(this);
  2308.          }
  2309.          if(mx_internal::invalidatePropertiesFlag)
  2310.          {
  2311.             UIComponentGlobals.mx_internal::layoutManager.invalidateProperties(this);
  2312.          }
  2313.          if(systemManager)
  2314.          {
  2315.             if(methodQueue.length > 0 && !listeningForRender)
  2316.             {
  2317.                _systemManager.stage.addEventListener(Event.RENDER,callLaterDispatcher);
  2318.                _systemManager.stage.addEventListener(Event.ENTER_FRAME,callLaterDispatcher);
  2319.                listeningForRender = true;
  2320.             }
  2321.             _systemManager.stage.invalidate();
  2322.          }
  2323.       }
  2324.       
  2325.       public function set styleDeclaration(param1:CSSStyleDeclaration) : void
  2326.       {
  2327.          _styleDeclaration = param1;
  2328.       }
  2329.       
  2330.       override public function set doubleClickEnabled(param1:Boolean) : void
  2331.       {
  2332.          var _loc2_:IChildList = null;
  2333.          var _loc3_:int = 0;
  2334.          var _loc4_:InteractiveObject = null;
  2335.          super.doubleClickEnabled = param1;
  2336.          if(this is IRawChildrenContainer)
  2337.          {
  2338.             _loc2_ = IRawChildrenContainer(this).rawChildren;
  2339.          }
  2340.          else
  2341.          {
  2342.             _loc2_ = IChildList(this);
  2343.          }
  2344.          _loc3_ = 0;
  2345.          while(_loc3_ < _loc2_.numChildren)
  2346.          {
  2347.             _loc4_ = _loc2_.getChildAt(_loc3_) as InteractiveObject;
  2348.             if(_loc4_)
  2349.             {
  2350.                _loc4_.doubleClickEnabled = param1;
  2351.             }
  2352.             _loc3_++;
  2353.          }
  2354.       }
  2355.       
  2356.       public function prepareToPrint(param1:IFlexDisplayObject) : Object
  2357.       {
  2358.          return null;
  2359.       }
  2360.       
  2361.       [Bindable("explicitMinHeightChanged")]
  2362.       public function get minHeight() : Number
  2363.       {
  2364.          if(!isNaN(explicitMinHeight))
  2365.          {
  2366.             return explicitMinHeight;
  2367.          }
  2368.          return measuredMinHeight;
  2369.       }
  2370.       
  2371.       public function notifyStyleChangeInChildren(param1:String, param2:Boolean) : void
  2372.       {
  2373.          var _loc3_:int = 0;
  2374.          var _loc4_:int = 0;
  2375.          var _loc5_:ISimpleStyleClient = null;
  2376.          cachedTextFormat = null;
  2377.          _loc3_ = numChildren;
  2378.          _loc4_ = 0;
  2379.          while(_loc4_ < _loc3_)
  2380.          {
  2381.             _loc5_ = getChildAt(_loc4_) as ISimpleStyleClient;
  2382.             if(_loc5_)
  2383.             {
  2384.                _loc5_.styleChanged(param1);
  2385.                if(_loc5_ is IStyleClient)
  2386.                {
  2387.                   IStyleClient(_loc5_).notifyStyleChangeInChildren(param1,param2);
  2388.                }
  2389.             }
  2390.             _loc4_++;
  2391.          }
  2392.       }
  2393.       
  2394.       public function get contentMouseX() : Number
  2395.       {
  2396.          return mouseX;
  2397.       }
  2398.       
  2399.       public function get contentMouseY() : Number
  2400.       {
  2401.          return mouseY;
  2402.       }
  2403.       
  2404.       public function get tweeningProperties() : Array
  2405.       {
  2406.          return _tweeningProperties;
  2407.       }
  2408.       
  2409.       public function set explicitMaxWidth(param1:Number) : void
  2410.       {
  2411.          var _loc2_:IInvalidating = null;
  2412.          if(mx_internal::_explicitMaxWidth == param1)
  2413.          {
  2414.             return;
  2415.          }
  2416.          mx_internal::_explicitMaxWidth = param1;
  2417.          invalidateSize();
  2418.          _loc2_ = parent as IInvalidating;
  2419.          if(_loc2_)
  2420.          {
  2421.             _loc2_.invalidateSize();
  2422.             _loc2_.invalidateDisplayList();
  2423.          }
  2424.          dispatchEvent(new Event("explicitMaxWidthChanged"));
  2425.       }
  2426.       
  2427.       public function set document(param1:Object) : void
  2428.       {
  2429.          var _loc2_:int = 0;
  2430.          var _loc3_:int = 0;
  2431.          var _loc4_:IUIComponent = null;
  2432.          _loc2_ = numChildren;
  2433.          _loc3_ = 0;
  2434.          while(_loc3_ < _loc2_)
  2435.          {
  2436.             _loc4_ = getChildAt(_loc3_) as IUIComponent;
  2437.             if(_loc4_)
  2438.             {
  2439.                if(_loc4_.document == mx_internal::_document || _loc4_.document == Application.application)
  2440.                {
  2441.                   _loc4_.document = param1;
  2442.                }
  2443.             }
  2444.             _loc3_++;
  2445.          }
  2446.          mx_internal::_document = param1;
  2447.       }
  2448.       
  2449.       public function validateSize(param1:Boolean = false) : void
  2450.       {
  2451.          var _loc2_:int = 0;
  2452.          var _loc3_:DisplayObject = null;
  2453.          var _loc4_:Boolean = false;
  2454.          var _loc5_:IInvalidating = null;
  2455.          if(param1)
  2456.          {
  2457.             _loc2_ = 0;
  2458.             while(_loc2_ < numChildren)
  2459.             {
  2460.                _loc3_ = getChildAt(_loc2_);
  2461.                if(_loc3_ is ILayoutManagerClient)
  2462.                {
  2463.                   (_loc3_ as ILayoutManagerClient).validateSize(true);
  2464.                }
  2465.                _loc2_++;
  2466.             }
  2467.          }
  2468.          if(mx_internal::invalidateSizeFlag)
  2469.          {
  2470.             _loc4_ = measureSizes();
  2471.             if((_loc4_) && includeInLayout)
  2472.             {
  2473.                invalidateDisplayList();
  2474.                _loc5_ = parent as IInvalidating;
  2475.                if(_loc5_)
  2476.                {
  2477.                   _loc5_.invalidateSize();
  2478.                   _loc5_.invalidateDisplayList();
  2479.                }
  2480.             }
  2481.          }
  2482.       }
  2483.       
  2484.       override public function dispatchEvent(param1:Event) : Boolean
  2485.       {
  2486.          if(mx_internal::dispatchEventHook != null)
  2487.          {
  2488.             mx_internal::dispatchEventHook(param1,this);
  2489.          }
  2490.          return super.dispatchEvent(param1);
  2491.       }
  2492.       
  2493.       public function set updateCompletePendingFlag(param1:Boolean) : void
  2494.       {
  2495.          _updateCompletePendingFlag = param1;
  2496.       }
  2497.       
  2498.       final mx_internal function get $height() : Number
  2499.       {
  2500.          return super.height;
  2501.       }
  2502.       
  2503.       override public function set height(param1:Number) : void
  2504.       {
  2505.          var _loc2_:IInvalidating = null;
  2506.          if(explicitHeight != param1)
  2507.          {
  2508.             explicitHeight = param1;
  2509.             invalidateSize();
  2510.          }
  2511.          if(mx_internal::_height != param1)
  2512.          {
  2513.             invalidateProperties();
  2514.             invalidateDisplayList();
  2515.             _loc2_ = parent as IInvalidating;
  2516.             if(Boolean(_loc2_) && includeInLayout)
  2517.             {
  2518.                _loc2_.invalidateSize();
  2519.                _loc2_.invalidateDisplayList();
  2520.             }
  2521.             mx_internal::_height = param1;
  2522.             dispatchEvent(new Event("heightChanged"));
  2523.          }
  2524.       }
  2525.       
  2526.       protected function attachOverlay() : void
  2527.       {
  2528.          addChild(mx_internal::overlay);
  2529.       }
  2530.       
  2531.       private function overlay_resizeHandler(param1:Event) : void
  2532.       {
  2533.          mx_internal::fillOverlay(mx_internal::overlay,mx_internal::overlayColor,null);
  2534.       }
  2535.       
  2536.       public function get numAutomationChildren() : int
  2537.       {
  2538.          if(automationDelegate)
  2539.          {
  2540.             return automationDelegate.numAutomationChildren;
  2541.          }
  2542.          return 0;
  2543.       }
  2544.       
  2545.       [Bindable("explictMinHeightChanged")]
  2546.       public function get explicitMinHeight() : Number
  2547.       {
  2548.          return mx_internal::_explicitMinHeight;
  2549.       }
  2550.       
  2551.       public function localToContent(param1:Point) : Point
  2552.       {
  2553.          return param1;
  2554.       }
  2555.       
  2556.       public function set id(param1:String) : void
  2557.       {
  2558.          _id = param1;
  2559.       }
  2560.       
  2561.       [Bindable("initialize")]
  2562.       public function get parentApplication() : Object
  2563.       {
  2564.          var _loc1_:Object = null;
  2565.          var _loc2_:UIComponent = null;
  2566.          _loc1_ = systemManager.document;
  2567.          if(_loc1_ == this)
  2568.          {
  2569.             _loc2_ = _loc1_.systemManager.parent as UIComponent;
  2570.             _loc1_ = !!_loc2_ ? _loc2_.systemManager.document : null;
  2571.          }
  2572.          return _loc1_;
  2573.       }
  2574.       
  2575.       private function removeState(param1:String, param2:String) : void
  2576.       {
  2577.          var _loc3_:State = null;
  2578.          var _loc4_:Array = null;
  2579.          var _loc5_:int = 0;
  2580.          _loc3_ = getState(param1);
  2581.          if(_loc3_)
  2582.          {
  2583.             _loc3_.mx_internal::dispatchExitState();
  2584.             _loc4_ = _loc3_.overrides;
  2585.             _loc5_ = int(_loc4_.length);
  2586.             while(_loc5_)
  2587.             {
  2588.                _loc4_[_loc5_ - 1].remove(this);
  2589.                _loc5_--;
  2590.             }
  2591.             if(_loc3_.basedOn != param2)
  2592.             {
  2593.                removeState(_loc3_.basedOn,param2);
  2594.             }
  2595.          }
  2596.       }
  2597.       
  2598.       public function setStyle(param1:String, param2:*) : void
  2599.       {
  2600.          var _loc3_:Boolean = false;
  2601.          var _loc4_:* = false;
  2602.          var _loc5_:* = false;
  2603.          if(param1 == "styleName")
  2604.          {
  2605.             styleName = param2;
  2606.             return;
  2607.          }
  2608.          if(EffectManager.mx_internal::getEventForEffectTrigger(param1) != "")
  2609.          {
  2610.             EffectManager.mx_internal::setStyle(param1,this);
  2611.          }
  2612.          _loc3_ = StyleManager.isInheritingStyle(param1);
  2613.          _loc4_ = inheritingStyles != UIComponent.mx_internal::STYLE_UNINITIALIZED;
  2614.          _loc5_ = getStyle(param1) != param2;
  2615.          if(!_styleDeclaration)
  2616.          {
  2617.             _styleDeclaration = new CSSStyleDeclaration();
  2618.             _styleDeclaration.mx_internal::setStyle(param1,param2);
  2619.             if(_loc4_)
  2620.             {
  2621.                regenerateStyleCache(_loc3_);
  2622.             }
  2623.          }
  2624.          else
  2625.          {
  2626.             _styleDeclaration.mx_internal::setStyle(param1,param2);
  2627.          }
  2628.          if(_loc4_ && _loc5_)
  2629.          {
  2630.             styleChanged(param1);
  2631.             notifyStyleChangeInChildren(param1,_loc3_);
  2632.          }
  2633.       }
  2634.       
  2635.       public function get validationSubField() : String
  2636.       {
  2637.          return _validationSubField;
  2638.       }
  2639.       
  2640.       public function get systemManager() : ISystemManager
  2641.       {
  2642.          var _loc1_:DisplayObject = null;
  2643.          var _loc2_:DisplayObjectContainer = null;
  2644.          var _loc3_:IUIComponent = null;
  2645.          if(!_systemManager)
  2646.          {
  2647.             _loc1_ = root;
  2648.             if(_loc1_)
  2649.             {
  2650.                _systemManager = _loc1_ as ISystemManager;
  2651.             }
  2652.             else
  2653.             {
  2654.                _loc2_ = parent;
  2655.                while(_loc2_)
  2656.                {
  2657.                   _loc3_ = _loc2_ as IUIComponent;
  2658.                   if(_loc3_)
  2659.                   {
  2660.                      _systemManager = _loc3_.systemManager;
  2661.                      break;
  2662.                   }
  2663.                   _loc2_ = _loc2_.parent;
  2664.                }
  2665.             }
  2666.          }
  2667.          return _systemManager;
  2668.       }
  2669.       
  2670.       public function get showInAutomationHierarchy() : Boolean
  2671.       {
  2672.          return _showInAutomationHierarchy;
  2673.       }
  2674.       
  2675.       private function isBaseState(param1:String) : Boolean
  2676.       {
  2677.          return !param1 || param1 == "";
  2678.       }
  2679.       
  2680.       override public function addChildAt(param1:DisplayObject, param2:int) : DisplayObject
  2681.       {
  2682.          if(Boolean(mx_internal::overlayReferenceCount) && param1 != mx_internal::overlay)
  2683.          {
  2684.             param2 = Math.min(param2,Math.max(0,super.numChildren - 1));
  2685.          }
  2686.          mx_internal::addingChild(param1);
  2687.          mx_internal::$addChildAt(param1,param2);
  2688.          mx_internal::childAdded(param1);
  2689.          return param1;
  2690.       }
  2691.       
  2692.       public function set enabled(param1:Boolean) : void
  2693.       {
  2694.          _enabled = param1;
  2695.          cachedTextFormat = null;
  2696.          invalidateDisplayList();
  2697.          dispatchEvent(new Event("enabledChanged"));
  2698.       }
  2699.       
  2700.       [Bindable("explicitMinWidthChanged")]
  2701.       public function get minWidth() : Number
  2702.       {
  2703.          if(!isNaN(explicitMinWidth))
  2704.          {
  2705.             return explicitMinWidth;
  2706.          }
  2707.          return measuredMinWidth;
  2708.       }
  2709.       
  2710.       private function setFocusLater(param1:Event = null) : void
  2711.       {
  2712.          var _loc2_:ISystemManager = null;
  2713.          _loc2_ = systemManager;
  2714.          if(Boolean(_loc2_) && Boolean(_loc2_.stage))
  2715.          {
  2716.             _loc2_.stage.removeEventListener(Event.ENTER_FRAME,setFocusLater);
  2717.             if(UIComponentGlobals.mx_internal::nextFocusObject)
  2718.             {
  2719.                _loc2_.stage.focus = UIComponentGlobals.mx_internal::nextFocusObject;
  2720.             }
  2721.             UIComponentGlobals.mx_internal::nextFocusObject = null;
  2722.          }
  2723.       }
  2724.       
  2725.       [Bindable("currentStateChange")]
  2726.       public function get currentState() : String
  2727.       {
  2728.          return _currentStateChanged ? requestedCurrentState : _currentState;
  2729.       }
  2730.       
  2731.       public function set focusEnabled(param1:Boolean) : void
  2732.       {
  2733.          _focusEnabled = param1;
  2734.       }
  2735.       
  2736.       public function get measuredWidth() : Number
  2737.       {
  2738.          return _measuredWidth;
  2739.       }
  2740.       
  2741.       public function get baselinePosition() : Number
  2742.       {
  2743.          return NaN;
  2744.       }
  2745.       
  2746.       public function set cachePolicy(param1:String) : void
  2747.       {
  2748.          if(_cachePolicy != param1)
  2749.          {
  2750.             _cachePolicy = param1;
  2751.             if(param1 == UIComponentCachePolicy.OFF)
  2752.             {
  2753.                cacheAsBitmap = false;
  2754.             }
  2755.             else if(param1 == UIComponentCachePolicy.ON)
  2756.             {
  2757.                cacheAsBitmap = true;
  2758.             }
  2759.             else
  2760.             {
  2761.                cacheAsBitmap = cacheAsBitmapCount > 0;
  2762.             }
  2763.          }
  2764.       }
  2765.       
  2766.       public function get automationValue() : Array
  2767.       {
  2768.          if(automationDelegate)
  2769.          {
  2770.             return automationDelegate.automationValue;
  2771.          }
  2772.          return [];
  2773.       }
  2774.       
  2775.       public function set instanceIndices(param1:Array) : void
  2776.       {
  2777.          _instanceIndices = param1;
  2778.       }
  2779.       
  2780.       public function get repeaterIndex() : int
  2781.       {
  2782.          return !!_repeaterIndices ? int(_repeaterIndices[_repeaterIndices.length - 1]) : -1;
  2783.       }
  2784.       
  2785.       public function parentChanged(param1:DisplayObjectContainer) : void
  2786.       {
  2787.          if(!param1)
  2788.          {
  2789.             mx_internal::_parent = null;
  2790.             _nestLevel = 0;
  2791.          }
  2792.          else if(param1 is IStyleClient)
  2793.          {
  2794.             mx_internal::_parent = param1;
  2795.          }
  2796.          else if(param1 is SystemManager)
  2797.          {
  2798.             mx_internal::_parent = param1;
  2799.          }
  2800.          else
  2801.          {
  2802.             mx_internal::_parent = param1.parent;
  2803.          }
  2804.       }
  2805.       
  2806.       public function get owner() : DisplayObjectContainer
  2807.       {
  2808.          return !!_owner ? _owner : parent;
  2809.       }
  2810.       
  2811.       public function get processedDescriptors() : Boolean
  2812.       {
  2813.          return _processedDescriptors;
  2814.       }
  2815.       
  2816.       [Bindable("alphaChanged")]
  2817.       override public function set alpha(param1:Number) : void
  2818.       {
  2819.          super.alpha = param1;
  2820.          dispatchEvent(new Event("alphaChanged"));
  2821.       }
  2822.       
  2823.       public function initializeRepeaterArrays(param1:IRepeaterClient) : void
  2824.       {
  2825.          if(param1 && param1.instanceIndices && !_instanceIndices && !param1.isDocument)
  2826.          {
  2827.             _instanceIndices = param1.instanceIndices;
  2828.             _repeaters = param1.repeaters;
  2829.             _repeaterIndices = param1.repeaterIndices;
  2830.          }
  2831.       }
  2832.       
  2833.       [Bindable("explicitMaxWidthChanged")]
  2834.       public function get maxWidth() : Number
  2835.       {
  2836.          return !isNaN(explicitMaxWidth) ? explicitMaxWidth : DEFAULT_MAX_WIDTH;
  2837.       }
  2838.       
  2839.       private function removedHandler(param1:Event) : void
  2840.       {
  2841.          if(param1.eventPhase != EventPhase.AT_TARGET)
  2842.          {
  2843.             return;
  2844.          }
  2845.          if(parent is Container && Container(parent).mx_internal::creatingContentPane)
  2846.          {
  2847.             param1.stopImmediatePropagation();
  2848.             return;
  2849.          }
  2850.       }
  2851.       
  2852.       public function callLater(param1:Function, param2:Array = null) : void
  2853.       {
  2854.          var _loc3_:ISystemManager = null;
  2855.          methodQueue.push(new MethodQueueElement(param1,param2));
  2856.          _loc3_ = systemManager;
  2857.          if(Boolean(_loc3_) && Boolean(_loc3_.stage))
  2858.          {
  2859.             if(!listeningForRender)
  2860.             {
  2861.                _loc3_.stage.addEventListener(Event.RENDER,callLaterDispatcher);
  2862.                _loc3_.stage.addEventListener(Event.ENTER_FRAME,callLaterDispatcher);
  2863.                listeningForRender = true;
  2864.             }
  2865.             _loc3_.stage.invalidate();
  2866.          }
  2867.       }
  2868.       
  2869.       private function addedHandler(param1:Event) : void
  2870.       {
  2871.          if(param1.eventPhase != EventPhase.AT_TARGET)
  2872.          {
  2873.             return;
  2874.          }
  2875.          if(parent is Container && Container(parent).mx_internal::creatingContentPane)
  2876.          {
  2877.             param1.stopImmediatePropagation();
  2878.             return;
  2879.          }
  2880.       }
  2881.       
  2882.       public function get initialized() : Boolean
  2883.       {
  2884.          return _initialized;
  2885.       }
  2886.       
  2887.       private function callLaterDispatcher2(param1:Event) : void
  2888.       {
  2889.          var _loc2_:ISystemManager = null;
  2890.          var _loc3_:Array = null;
  2891.          var _loc4_:int = 0;
  2892.          var _loc5_:int = 0;
  2893.          var _loc6_:MethodQueueElement = null;
  2894.          if(UIComponentGlobals.mx_internal::callLaterSuspendCount > 0)
  2895.          {
  2896.             return;
  2897.          }
  2898.          _loc2_ = systemManager;
  2899.          if(_loc2_ && _loc2_.stage && listeningForRender)
  2900.          {
  2901.             _loc2_.stage.removeEventListener(Event.RENDER,callLaterDispatcher);
  2902.             _loc2_.stage.removeEventListener(Event.ENTER_FRAME,callLaterDispatcher);
  2903.             listeningForRender = false;
  2904.          }
  2905.          _loc3_ = methodQueue;
  2906.          methodQueue = [];
  2907.          _loc4_ = int(_loc3_.length);
  2908.          _loc5_ = 0;
  2909.          while(_loc5_ < _loc4_)
  2910.          {
  2911.             _loc6_ = MethodQueueElement(_loc3_[_loc5_]);
  2912.             _loc6_.method.apply(null,_loc6_.args);
  2913.             _loc5_++;
  2914.          }
  2915.       }
  2916.       
  2917.       public function measureHTMLText(param1:String) : TextLineMetrics
  2918.       {
  2919.          return determineTextFormatFromStyles().measureHTMLText(param1);
  2920.       }
  2921.       
  2922.       public function set descriptor(param1:UIComponentDescriptor) : void
  2923.       {
  2924.          mx_internal::_descriptor = param1;
  2925.       }
  2926.       
  2927.       private function getState(param1:String) : State
  2928.       {
  2929.          var _loc2_:int = 0;
  2930.          if(!states || isBaseState(param1))
  2931.          {
  2932.             return null;
  2933.          }
  2934.          _loc2_ = 0;
  2935.          while(_loc2_ < states.length)
  2936.          {
  2937.             if(states[_loc2_].name == param1)
  2938.             {
  2939.                return states[_loc2_];
  2940.             }
  2941.             _loc2_++;
  2942.          }
  2943.          if(resourceStateUndefined == null)
  2944.          {
  2945.             loadResources();
  2946.          }
  2947.          throw new ArgumentError(StringUtil.substitute(resourceStateUndefined,param1));
  2948.       }
  2949.       
  2950.       mx_internal function get documentDescriptor() : UIComponentDescriptor
  2951.       {
  2952.          return mx_internal::_documentDescriptor;
  2953.       }
  2954.       
  2955.       public function set includeInLayout(param1:Boolean) : void
  2956.       {
  2957.          var _loc2_:IInvalidating = null;
  2958.          if(_includeInLayout != param1)
  2959.          {
  2960.             _includeInLayout = param1;
  2961.             _loc2_ = parent as IInvalidating;
  2962.             if(_loc2_)
  2963.             {
  2964.                _loc2_.invalidateSize();
  2965.                _loc2_.invalidateDisplayList();
  2966.             }
  2967.             dispatchEvent(new Event("includeInLayoutChanged"));
  2968.          }
  2969.       }
  2970.       
  2971.       public function getClassStyleDeclarations() : Array
  2972.       {
  2973.          var myApplicationDomain:ApplicationDomain = null;
  2974.          var factory:IFlexModuleFactory = null;
  2975.          var className:String = null;
  2976.          var cache:Array = null;
  2977.          var decls:Array = null;
  2978.          var classNames:Array = null;
  2979.          var caches:Array = null;
  2980.          var declcache:Array = null;
  2981.          var myRoot:DisplayObject = null;
  2982.          var s:CSSStyleDeclaration = null;
  2983.          factory = ModuleManager.getAssociatedFactory(this);
  2984.          if(factory != null)
  2985.          {
  2986.             myApplicationDomain = ApplicationDomain(factory.info()["currentDomain"]);
  2987.          }
  2988.          else
  2989.          {
  2990.             myRoot = SystemManager.getSWFRoot(this);
  2991.             if(!myRoot)
  2992.             {
  2993.                return [];
  2994.             }
  2995.             myApplicationDomain = myRoot.loaderInfo.applicationDomain;
  2996.          }
  2997.          className = getQualifiedClassName(this);
  2998.          className = className.replace("::",".");
  2999.          cache = StyleManager.mx_internal::typeSelectorCache[className];
  3000.          if(cache)
  3001.          {
  3002.             return cache;
  3003.          }
  3004.          decls = [];
  3005.          classNames = [];
  3006.          caches = [];
  3007.          declcache = [];
  3008.          while(className != null && className != "mx.core.UIComponent" && className != "mx.core.UITextField")
  3009.          {
  3010.             cache = StyleManager.mx_internal::typeSelectorCache[className];
  3011.             if(cache)
  3012.             {
  3013.                decls = decls.concat(cache);
  3014.                break;
  3015.             }
  3016.             s = StyleManager.getStyleDeclaration(className);
  3017.             if(s)
  3018.             {
  3019.                decls.unshift(s);
  3020.                classNames.push(className);
  3021.                caches.push(classNames);
  3022.                declcache.push(decls);
  3023.                decls = [];
  3024.                classNames = [];
  3025.             }
  3026.             else
  3027.             {
  3028.                classNames.push(className);
  3029.             }
  3030.             try
  3031.             {
  3032.                className = getQualifiedSuperclassName(myApplicationDomain.getDefinition(className));
  3033.                className = className.replace("::",".");
  3034.             }
  3035.             catch(e:ReferenceError)
  3036.             {
  3037.                className = null;
  3038.             }
  3039.          }
  3040.          caches.push(classNames);
  3041.          declcache.push(decls);
  3042.          decls = [];
  3043.          while(caches.length)
  3044.          {
  3045.             classNames = caches.pop();
  3046.             decls = decls.concat(declcache.pop());
  3047.             while(classNames.length)
  3048.             {
  3049.                StyleManager.mx_internal::typeSelectorCache[classNames.pop()] = decls;
  3050.             }
  3051.          }
  3052.          return decls;
  3053.       }
  3054.       
  3055.       public function validateProperties() : void
  3056.       {
  3057.          if(mx_internal::invalidatePropertiesFlag)
  3058.          {
  3059.             commitProperties();
  3060.             mx_internal::invalidatePropertiesFlag = false;
  3061.          }
  3062.       }
  3063.       
  3064.       public function set measuredMinWidth(param1:Number) : void
  3065.       {
  3066.          _measuredMinWidth = param1;
  3067.       }
  3068.       
  3069.       override public function removeChild(param1:DisplayObject) : DisplayObject
  3070.       {
  3071.          mx_internal::removingChild(param1);
  3072.          mx_internal::$removeChild(param1);
  3073.          mx_internal::childRemoved(param1);
  3074.          return param1;
  3075.       }
  3076.       
  3077.       private function initializeState(param1:String) : void
  3078.       {
  3079.          var _loc2_:State = null;
  3080.          _loc2_ = getState(param1);
  3081.          while(_loc2_)
  3082.          {
  3083.             _loc2_.mx_internal::initialize();
  3084.             _loc2_ = getState(_loc2_.basedOn);
  3085.          }
  3086.       }
  3087.       
  3088.       private function focusObj_moveHandler(param1:MoveEvent) : void
  3089.       {
  3090.          adjustFocusRect();
  3091.       }
  3092.       
  3093.       public function get styleDeclaration() : CSSStyleDeclaration
  3094.       {
  3095.          return _styleDeclaration;
  3096.       }
  3097.       
  3098.       override public function get doubleClickEnabled() : Boolean
  3099.       {
  3100.          return super.doubleClickEnabled;
  3101.       }
  3102.       
  3103.       mx_internal function initProtoChain() : void
  3104.       {
  3105.          var _loc1_:CSSStyleDeclaration = null;
  3106.          var _loc2_:Object = null;
  3107.          var _loc3_:IStyleClient = null;
  3108.          var _loc4_:Array = null;
  3109.          var _loc5_:int = 0;
  3110.          var _loc6_:int = 0;
  3111.          var _loc7_:Object = null;
  3112.          var _loc8_:CSSStyleDeclaration = null;
  3113.          if(styleName)
  3114.          {
  3115.             if(styleName is CSSStyleDeclaration)
  3116.             {
  3117.                _loc1_ = CSSStyleDeclaration(styleName);
  3118.             }
  3119.             else
  3120.             {
  3121.                if(styleName is IFlexDisplayObject)
  3122.                {
  3123.                   StyleProtoChain.initProtoChainForUIComponentStyleName(this);
  3124.                   return;
  3125.                }
  3126.                if(styleName is String)
  3127.                {
  3128.                   _loc1_ = StyleManager.getStyleDeclaration("." + styleName);
  3129.                }
  3130.             }
  3131.          }
  3132.          _loc2_ = StyleManager.mx_internal::stylesRoot;
  3133.          if(Boolean(_loc2_) && Boolean(_loc2_.effects))
  3134.          {
  3135.             registerEffects(_loc2_.effects);
  3136.          }
  3137.          _loc3_ = parent as IStyleClient;
  3138.          if(_loc3_)
  3139.          {
  3140.             _loc7_ = _loc3_.inheritingStyles;
  3141.             if(_loc7_ == UIComponent.mx_internal::STYLE_UNINITIALIZED)
  3142.             {
  3143.                _loc7_ = _loc2_;
  3144.             }
  3145.          }
  3146.          else if(isPopUp)
  3147.          {
  3148.             _loc7_ = Application.application.inheritingStyles;
  3149.          }
  3150.          else
  3151.          {
  3152.             _loc7_ = StyleManager.mx_internal::stylesRoot;
  3153.          }
  3154.          _loc4_ = getClassStyleDeclarations();
  3155.          _loc5_ = int(_loc4_.length);
  3156.          _loc6_ = 0;
  3157.          while(_loc6_ < _loc5_)
  3158.          {
  3159.             _loc8_ = _loc4_[_loc6_];
  3160.             _loc7_ = _loc8_.mx_internal::addStyleToProtoChain(_loc7_,this);
  3161.             _loc2_ = _loc8_.mx_internal::addStyleToProtoChain(_loc2_,this);
  3162.             if(_loc8_.mx_internal::effects)
  3163.             {
  3164.                registerEffects(_loc8_.mx_internal::effects);
  3165.             }
  3166.             _loc6_++;
  3167.          }
  3168.          if(_loc1_)
  3169.          {
  3170.             _loc7_ = _loc1_.mx_internal::addStyleToProtoChain(_loc7_,this);
  3171.             _loc2_ = _loc1_.mx_internal::addStyleToProtoChain(_loc2_,this);
  3172.             if(_loc1_.mx_internal::effects)
  3173.             {
  3174.                registerEffects(_loc1_.mx_internal::effects);
  3175.             }
  3176.          }
  3177.          inheritingStyles = !!_styleDeclaration ? _styleDeclaration.mx_internal::addStyleToProtoChain(_loc7_,this) : _loc7_;
  3178.          nonInheritingStyles = !!_styleDeclaration ? _styleDeclaration.mx_internal::addStyleToProtoChain(_loc2_,this) : _loc2_;
  3179.       }
  3180.       
  3181.       public function get repeaterIndices() : Array
  3182.       {
  3183.          return !!_repeaterIndices ? _repeaterIndices.slice() : [];
  3184.       }
  3185.       
  3186.       private function creationCompleteHandler(param1:FlexEvent) : void
  3187.       {
  3188.          if(_currentStateChanged)
  3189.          {
  3190.             _currentStateChanged = false;
  3191.             commitCurrentState();
  3192.             validateNow();
  3193.          }
  3194.          removeEventListener(FlexEvent.CREATION_COMPLETE,creationCompleteHandler);
  3195.       }
  3196.       
  3197.       override public function setChildIndex(param1:DisplayObject, param2:int) : void
  3198.       {
  3199.          if(Boolean(mx_internal::overlayReferenceCount) && param1 != mx_internal::overlay)
  3200.          {
  3201.             param2 = Math.min(param2,Math.max(0,super.numChildren - 2));
  3202.          }
  3203.          super.setChildIndex(param1,param2);
  3204.       }
  3205.       
  3206.       public function set measuredHeight(param1:Number) : void
  3207.       {
  3208.          _measuredHeight = param1;
  3209.       }
  3210.       
  3211.       protected function createChildren() : void
  3212.       {
  3213.       }
  3214.       
  3215.       public function regenerateStyleCache(param1:Boolean) : void
  3216.       {
  3217.          var _loc2_:IChildList = null;
  3218.          var _loc3_:int = 0;
  3219.          var _loc4_:int = 0;
  3220.          var _loc5_:DisplayObject = null;
  3221.          mx_internal::initProtoChain();
  3222.          _loc2_ = this is IRawChildrenContainer ? IRawChildrenContainer(this).rawChildren : IChildList(this);
  3223.          _loc3_ = _loc2_.numChildren;
  3224.          _loc4_ = 0;
  3225.          while(_loc4_ < _loc3_)
  3226.          {
  3227.             _loc5_ = _loc2_.getChildAt(_loc4_);
  3228.             if(_loc5_ is IStyleClient)
  3229.             {
  3230.                if(IStyleClient(_loc5_).inheritingStyles != UIComponent.mx_internal::STYLE_UNINITIALIZED)
  3231.                {
  3232.                   IStyleClient(_loc5_).regenerateStyleCache(param1);
  3233.                }
  3234.             }
  3235.             else if(_loc5_ is UITextField)
  3236.             {
  3237.                if(UITextField(_loc5_).inheritingStyles)
  3238.                {
  3239.                   StyleProtoChain.initTextField(UITextField(_loc5_));
  3240.                }
  3241.             }
  3242.             _loc4_++;
  3243.          }
  3244.       }
  3245.       
  3246.       public function get updateCompletePendingFlag() : Boolean
  3247.       {
  3248.          return _updateCompletePendingFlag;
  3249.       }
  3250.       
  3251.       protected function focusOutHandler(param1:FocusEvent) : void
  3252.       {
  3253.          if(isOurFocus(DisplayObject(param1.target)))
  3254.          {
  3255.             drawFocus(false);
  3256.          }
  3257.       }
  3258.       
  3259.       public function contentToLocal(param1:Point) : Point
  3260.       {
  3261.          return param1;
  3262.       }
  3263.       
  3264.       public function getFocus() : InteractiveObject
  3265.       {
  3266.          var _loc1_:ISystemManager = null;
  3267.          _loc1_ = systemManager;
  3268.          if(!_loc1_)
  3269.          {
  3270.             return null;
  3271.          }
  3272.          if(UIComponentGlobals.mx_internal::nextFocusObject)
  3273.          {
  3274.             return UIComponentGlobals.mx_internal::nextFocusObject;
  3275.          }
  3276.          return _loc1_.stage.focus;
  3277.       }
  3278.       
  3279.       public function endEffectsStarted() : void
  3280.       {
  3281.          var _loc1_:int = 0;
  3282.          var _loc2_:int = 0;
  3283.          _loc1_ = int(mx_internal::_effectsStarted.length);
  3284.          _loc2_ = 0;
  3285.          while(_loc2_ < _loc1_)
  3286.          {
  3287.             mx_internal::_effectsStarted[_loc2_].end();
  3288.             _loc2_++;
  3289.          }
  3290.       }
  3291.       
  3292.       protected function get unscaledHeight() : Number
  3293.       {
  3294.          return height / Math.abs(scaleY);
  3295.       }
  3296.       
  3297.       [Bindable("enabledChanged")]
  3298.       public function get enabled() : Boolean
  3299.       {
  3300.          return _enabled;
  3301.       }
  3302.       
  3303.       override public function set cacheAsBitmap(param1:Boolean) : void
  3304.       {
  3305.          super.cacheAsBitmap = param1;
  3306.          cacheAsBitmapCount = param1 ? 1 : 0;
  3307.       }
  3308.       
  3309.       public function get focusEnabled() : Boolean
  3310.       {
  3311.          return _focusEnabled;
  3312.       }
  3313.       
  3314.       mx_internal function removeOverlay() : void
  3315.       {
  3316.          if(mx_internal::overlayReferenceCount > 0 && --mx_internal::overlayReferenceCount == 0 && Boolean(mx_internal::overlay))
  3317.          {
  3318.             removeEventListener("resize",overlay_resizeHandler);
  3319.             if(super.getChildByName("overlay"))
  3320.             {
  3321.                mx_internal::$removeChild(mx_internal::overlay);
  3322.             }
  3323.             mx_internal::overlay = null;
  3324.          }
  3325.       }
  3326.       
  3327.       public function set cacheHeuristic(param1:Boolean) : void
  3328.       {
  3329.          if(_cachePolicy == UIComponentCachePolicy.AUTO)
  3330.          {
  3331.             if(param1)
  3332.             {
  3333.                ++cacheAsBitmapCount;
  3334.             }
  3335.             else if(cacheAsBitmapCount != 0)
  3336.             {
  3337.                --cacheAsBitmapCount;
  3338.             }
  3339.             super.cacheAsBitmap = cacheAsBitmapCount != 0;
  3340.          }
  3341.       }
  3342.       
  3343.       public function get cachePolicy() : String
  3344.       {
  3345.          return _cachePolicy;
  3346.       }
  3347.       
  3348.       public function set maxHeight(param1:Number) : void
  3349.       {
  3350.          if(explicitMaxHeight == param1)
  3351.          {
  3352.             return;
  3353.          }
  3354.          explicitMaxHeight = param1;
  3355.       }
  3356.       
  3357.       public function set focusManager(param1:IFocusManager) : void
  3358.       {
  3359.          _focusManager = param1;
  3360.       }
  3361.       
  3362.       public function clearStyle(param1:String) : void
  3363.       {
  3364.          setStyle(param1,undefined);
  3365.       }
  3366.       
  3367.       public function get descriptor() : UIComponentDescriptor
  3368.       {
  3369.          return mx_internal::_descriptor;
  3370.       }
  3371.       
  3372.       public function set nonInheritingStyles(param1:Object) : void
  3373.       {
  3374.          _nonInheritingStyles = param1;
  3375.       }
  3376.       
  3377.       public function set automationDelegate(param1:Object) : void
  3378.       {
  3379.          _automationDelegate = param1 as IAutomationObject;
  3380.       }
  3381.       
  3382.       public function get measuredMinWidth() : Number
  3383.       {
  3384.          return _measuredMinWidth;
  3385.       }
  3386.       
  3387.       public function createReferenceOnParentDocument(param1:IFlexDisplayObject) : void
  3388.       {
  3389.          var _loc2_:Array = null;
  3390.          var _loc3_:Object = null;
  3391.          var _loc4_:int = 0;
  3392.          var _loc5_:int = 0;
  3393.          var _loc6_:PropertyChangeEvent = null;
  3394.          var _loc7_:Object = null;
  3395.          if(Boolean(id) && id != "")
  3396.          {
  3397.             _loc2_ = _instanceIndices;
  3398.             if(!_loc2_)
  3399.             {
  3400.                param1[id] = this;
  3401.             }
  3402.             else
  3403.             {
  3404.                _loc3_ = param1[id];
  3405.                if(!(_loc3_ is Array))
  3406.                {
  3407.                   _loc3_ = param1[id] = [];
  3408.                }
  3409.                _loc4_ = int(_loc2_.length);
  3410.                _loc5_ = 0;
  3411.                while(_loc5_ < _loc4_ - 1)
  3412.                {
  3413.                   _loc7_ = _loc3_[_loc2_[_loc5_]];
  3414.                   if(!(_loc7_ is Array))
  3415.                   {
  3416.                      _loc7_ = _loc3_[_loc2_[_loc5_]] = [];
  3417.                   }
  3418.                   _loc3_ = _loc7_;
  3419.                   _loc5_++;
  3420.                }
  3421.                _loc3_[_loc2_[_loc4_ - 1]] = this;
  3422.                _loc6_ = PropertyChangeEvent.createUpdateEvent(param1,id,param1[id],param1[id]);
  3423.                param1.dispatchEvent(_loc6_);
  3424.             }
  3425.          }
  3426.       }
  3427.       
  3428.       public function set isPopUp(param1:Boolean) : void
  3429.       {
  3430.          _isPopUp = param1;
  3431.       }
  3432.       
  3433.       override public function set width(param1:Number) : void
  3434.       {
  3435.          var _loc2_:IInvalidating = null;
  3436.          if(explicitWidth != param1)
  3437.          {
  3438.             explicitWidth = param1;
  3439.             invalidateSize();
  3440.          }
  3441.          if(mx_internal::_width != param1)
  3442.          {
  3443.             invalidateProperties();
  3444.             invalidateDisplayList();
  3445.             _loc2_ = parent as IInvalidating;
  3446.             if(Boolean(_loc2_) && includeInLayout)
  3447.             {
  3448.                _loc2_.invalidateSize();
  3449.                _loc2_.invalidateDisplayList();
  3450.             }
  3451.             mx_internal::_width = param1;
  3452.             dispatchEvent(new Event("widthChanged"));
  3453.          }
  3454.       }
  3455.       
  3456.       public function get measuredHeight() : Number
  3457.       {
  3458.          return _measuredHeight;
  3459.       }
  3460.       
  3461.       public function get repeater() : IRepeater
  3462.       {
  3463.          return !!_repeaters ? _repeaters[_repeaters.length - 1] : null;
  3464.       }
  3465.       
  3466.       public function initialize() : void
  3467.       {
  3468.          if(initialized)
  3469.          {
  3470.             return;
  3471.          }
  3472.          dispatchEvent(new FlexEvent(FlexEvent.PREINITIALIZE));
  3473.          createChildren();
  3474.          childrenCreated();
  3475.          initializeAccessibility();
  3476.          initializationComplete();
  3477.       }
  3478.       
  3479.       public function set percentHeight(param1:Number) : void
  3480.       {
  3481.          var _loc2_:IInvalidating = null;
  3482.          if(_percentHeight == param1)
  3483.          {
  3484.             return;
  3485.          }
  3486.          if(!isNaN(param1))
  3487.          {
  3488.             _explicitHeight = NaN;
  3489.          }
  3490.          _percentHeight = param1;
  3491.          _loc2_ = parent as IInvalidating;
  3492.          if(_loc2_)
  3493.          {
  3494.             _loc2_.invalidateSize();
  3495.             _loc2_.invalidateDisplayList();
  3496.          }
  3497.       }
  3498.       
  3499.       final mx_internal function set $visible(param1:Boolean) : void
  3500.       {
  3501.          super.visible = param1;
  3502.       }
  3503.       
  3504.       protected function initializeAccessibility() : void
  3505.       {
  3506.          if(UIComponent.mx_internal::createAccessibilityImplementation != null)
  3507.          {
  3508.             UIComponent.mx_internal::createAccessibilityImplementation(this);
  3509.          }
  3510.       }
  3511.       
  3512.       private function findCommonBaseState(param1:String, param2:String) : String
  3513.       {
  3514.          var _loc3_:State = null;
  3515.          var _loc4_:State = null;
  3516.          var _loc5_:Array = null;
  3517.          var _loc6_:Array = null;
  3518.          var _loc7_:String = null;
  3519.          _loc3_ = getState(param1);
  3520.          _loc4_ = getState(param2);
  3521.          if(!_loc3_ || !_loc4_)
  3522.          {
  3523.             return "";
  3524.          }
  3525.          if(isBaseState(_loc3_.basedOn) || isBaseState(_loc4_.basedOn))
  3526.          {
  3527.             return "";
  3528.          }
  3529.          _loc5_ = getBaseStates(_loc3_);
  3530.          _loc6_ = getBaseStates(_loc4_);
  3531.          _loc7_ = "";
  3532.          while(_loc5_[_loc5_.length] == _loc6_[_loc6_.length])
  3533.          {
  3534.             _loc7_ = _loc5_.pop();
  3535.             _loc6_.pop();
  3536.             if(!_loc5_.length || !_loc6_.length)
  3537.             {
  3538.                break;
  3539.             }
  3540.          }
  3541.          return _loc7_;
  3542.       }
  3543.       
  3544.       mx_internal function childRemoved(param1:DisplayObject) : void
  3545.       {
  3546.          if(param1 is IUIComponent)
  3547.          {
  3548.             if(IUIComponent(param1).document != param1)
  3549.             {
  3550.                IUIComponent(param1).document = null;
  3551.             }
  3552.             IUIComponent(param1).parentChanged(null);
  3553.          }
  3554.       }
  3555.       
  3556.       final mx_internal function $removeChildAt(param1:int) : DisplayObject
  3557.       {
  3558.          return super.removeChildAt(param1);
  3559.       }
  3560.       
  3561.       [Bindable("explicitMaxHeightChanged")]
  3562.       public function get maxHeight() : Number
  3563.       {
  3564.          return !isNaN(explicitMaxHeight) ? explicitMaxHeight : DEFAULT_MAX_HEIGHT;
  3565.       }
  3566.       
  3567.       public function get focusManager() : IFocusManager
  3568.       {
  3569.          var _loc1_:DisplayObject = null;
  3570.          if(_focusManager)
  3571.          {
  3572.             return _focusManager;
  3573.          }
  3574.          _loc1_ = parent;
  3575.          while(_loc1_)
  3576.          {
  3577.             if(_loc1_ is IFocusManagerContainer)
  3578.             {
  3579.                return IFocusManagerContainer(_loc1_).focusManager;
  3580.             }
  3581.             _loc1_ = _loc1_.parent;
  3582.          }
  3583.          return null;
  3584.       }
  3585.       
  3586.       public function set styleName(param1:Object) : void
  3587.       {
  3588.          if(_styleName === param1)
  3589.          {
  3590.             return;
  3591.          }
  3592.          _styleName = param1;
  3593.          if(inheritingStyles == UIComponent.mx_internal::STYLE_UNINITIALIZED)
  3594.          {
  3595.             return;
  3596.          }
  3597.          regenerateStyleCache(true);
  3598.          mx_internal::initThemeColor();
  3599.          styleChanged("styleName");
  3600.          notifyStyleChangeInChildren("styleName",true);
  3601.       }
  3602.       
  3603.       public function get automationDelegate() : Object
  3604.       {
  3605.          return _automationDelegate;
  3606.       }
  3607.       
  3608.       public function set explicitMaxHeight(param1:Number) : void
  3609.       {
  3610.          var _loc2_:IInvalidating = null;
  3611.          if(mx_internal::_explicitMaxHeight == param1)
  3612.          {
  3613.             return;
  3614.          }
  3615.          mx_internal::_explicitMaxHeight = param1;
  3616.          invalidateSize();
  3617.          _loc2_ = parent as IInvalidating;
  3618.          if(_loc2_)
  3619.          {
  3620.             _loc2_.invalidateSize();
  3621.             _loc2_.invalidateDisplayList();
  3622.          }
  3623.          dispatchEvent(new Event("explicitMaxHeightChanged"));
  3624.       }
  3625.       
  3626.       mx_internal function cancelAllCallLaters() : void
  3627.       {
  3628.          var _loc1_:ISystemManager = null;
  3629.          _loc1_ = systemManager;
  3630.          if(Boolean(_loc1_) && Boolean(_loc1_.stage))
  3631.          {
  3632.             if(listeningForRender)
  3633.             {
  3634.                _loc1_.stage.removeEventListener(Event.RENDER,callLaterDispatcher);
  3635.                _loc1_.stage.removeEventListener(Event.ENTER_FRAME,callLaterDispatcher);
  3636.                listeningForRender = false;
  3637.             }
  3638.          }
  3639.          methodQueue.splice(0);
  3640.       }
  3641.       
  3642.       private function updateCompleteHandler(param1:Event) : void
  3643.       {
  3644.          UIComponentGlobals.mx_internal::layoutManager.removeEventListener(FlexEvent.UPDATE_COMPLETE,updateCompleteHandler);
  3645.          processEffectFinished(_endingEffectInstances);
  3646.          _endingEffectInstances = [];
  3647.       }
  3648.       
  3649.       public function styleChanged(param1:String) : void
  3650.       {
  3651.          if(!param1 || param1 == "styleName" || StyleManager.isSizeInvalidatingStyle(param1))
  3652.          {
  3653.             invalidateSize();
  3654.          }
  3655.          if(!param1 || param1 == "styleName" || param1 == "themeColor")
  3656.          {
  3657.             mx_internal::initThemeColor();
  3658.          }
  3659.          invalidateDisplayList();
  3660.          if(parent is IInvalidating)
  3661.          {
  3662.             if(StyleManager.isParentSizeInvalidatingStyle(param1))
  3663.             {
  3664.                IInvalidating(parent).invalidateSize();
  3665.             }
  3666.             if(StyleManager.isParentDisplayListInvalidatingStyle(param1))
  3667.             {
  3668.                IInvalidating(parent).invalidateDisplayList();
  3669.             }
  3670.          }
  3671.       }
  3672.       
  3673.       final mx_internal function get $visible() : Boolean
  3674.       {
  3675.          return super.visible;
  3676.       }
  3677.       
  3678.       public function drawRoundRect(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null, param6:Object = null, param7:Object = null, param8:Object = null, param9:String = null, param10:Array = null, param11:Object = null) : void
  3679.       {
  3680.          var _loc12_:Graphics = null;
  3681.          var _loc13_:Number = NaN;
  3682.          var _loc14_:Array = null;
  3683.          var _loc15_:Matrix = null;
  3684.          var _loc16_:Object = null;
  3685.          _loc12_ = graphics;
  3686.          if(!param3 || !param4)
  3687.          {
  3688.             return;
  3689.          }
  3690.          if(param6 !== null)
  3691.          {
  3692.             if(param6 is Array)
  3693.             {
  3694.                if(param7 is Array)
  3695.                {
  3696.                   _loc14_ = param7 as Array;
  3697.                }
  3698.                else
  3699.                {
  3700.                   _loc14_ = [param7,param7];
  3701.                }
  3702.                if(!param10)
  3703.                {
  3704.                   param10 = [0,255];
  3705.                }
  3706.                _loc15_ = null;
  3707.                if(param8)
  3708.                {
  3709.                   if(param8 is Matrix)
  3710.                   {
  3711.                      _loc15_ = Matrix(param8);
  3712.                   }
  3713.                   else
  3714.                   {
  3715.                      _loc15_ = new Matrix();
  3716.                      if(param8 is Number)
  3717.                      {
  3718.                         _loc15_.createGradientBox(param3,param4,Number(param8) * Math.PI / 180,param1,param2);
  3719.                      }
  3720.                      else
  3721.                      {
  3722.                         _loc15_.createGradientBox(param8.w,param8.h,param8.r,param8.x,param8.y);
  3723.                      }
  3724.                   }
  3725.                }
  3726.                if(param9 == GradientType.RADIAL)
  3727.                {
  3728.                   _loc12_.beginGradientFill(GradientType.RADIAL,param6 as Array,_loc14_,param10,_loc15_);
  3729.                }
  3730.                else
  3731.                {
  3732.                   _loc12_.beginGradientFill(GradientType.LINEAR,param6 as Array,_loc14_,param10,_loc15_);
  3733.                }
  3734.             }
  3735.             else
  3736.             {
  3737.                _loc12_.beginFill(Number(param6),Number(param7));
  3738.             }
  3739.          }
  3740.          if(!param5)
  3741.          {
  3742.             _loc12_.drawRect(param1,param2,param3,param4);
  3743.          }
  3744.          else if(param5 is Number)
  3745.          {
  3746.             _loc13_ = Number(param5) * 2;
  3747.             _loc12_.drawRoundRect(param1,param2,param3,param4,_loc13_,_loc13_);
  3748.          }
  3749.          else
  3750.          {
  3751.             GraphicsUtil.drawRoundRectComplex(_loc12_,param1,param2,param3,param4,param5.tl,param5.tr,param5.bl,param5.br);
  3752.          }
  3753.          if(param11)
  3754.          {
  3755.             _loc16_ = param11.r;
  3756.             if(_loc16_ is Number)
  3757.             {
  3758.                _loc13_ = Number(_loc16_) * 2;
  3759.                _loc12_.drawRoundRect(param11.x,param11.y,param11.w,param11.h,_loc13_,_loc13_);
  3760.             }
  3761.             else
  3762.             {
  3763.                GraphicsUtil.drawRoundRectComplex(_loc12_,param11.x,param11.y,param11.w,param11.h,_loc16_.tl,_loc16_.tr,_loc16_.bl,_loc16_.br);
  3764.             }
  3765.          }
  3766.          if(param6 !== null)
  3767.          {
  3768.             _loc12_.endFill();
  3769.          }
  3770.       }
  3771.       
  3772.       public function move(param1:Number, param2:Number) : void
  3773.       {
  3774.          var _loc3_:Boolean = false;
  3775.          _loc3_ = false;
  3776.          if(param1 != super.x)
  3777.          {
  3778.             super.x = param1;
  3779.             dispatchEvent(new Event("xChanged"));
  3780.             _loc3_ = true;
  3781.          }
  3782.          if(param2 != super.y)
  3783.          {
  3784.             super.y = param2;
  3785.             dispatchEvent(new Event("yChanged"));
  3786.             _loc3_ = true;
  3787.          }
  3788.          if(_loc3_)
  3789.          {
  3790.             dispatchMoveEvent();
  3791.          }
  3792.       }
  3793.       
  3794.       public function set toolTip(param1:String) : void
  3795.       {
  3796.          ToolTipManager.mx_internal::registerToolTip(this,param1);
  3797.          _toolTip = param1;
  3798.          dispatchEvent(new Event("toolTipChanged"));
  3799.       }
  3800.       
  3801.       public function set repeaters(param1:Array) : void
  3802.       {
  3803.          _repeaters = param1;
  3804.       }
  3805.       
  3806.       [Bindable("explicitMaxHeightChanged")]
  3807.       public function get explicitMaxHeight() : Number
  3808.       {
  3809.          return mx_internal::_explicitMaxHeight;
  3810.       }
  3811.       
  3812.       public function get styleName() : Object
  3813.       {
  3814.          return _styleName;
  3815.       }
  3816.       
  3817.       private function loadResources() : void
  3818.       {
  3819.          resourceStateUndefined = packageResources.getString("stateUndefined");
  3820.       }
  3821.       
  3822.       public function set explicitWidth(param1:Number) : void
  3823.       {
  3824.          var _loc2_:IInvalidating = null;
  3825.          if(_explicitWidth == param1)
  3826.          {
  3827.             return;
  3828.          }
  3829.          if(!isNaN(param1))
  3830.          {
  3831.             _percentWidth = NaN;
  3832.          }
  3833.          _explicitWidth = param1;
  3834.          invalidateSize();
  3835.          _loc2_ = parent as IInvalidating;
  3836.          if(Boolean(_loc2_) && includeInLayout)
  3837.          {
  3838.             _loc2_.invalidateSize();
  3839.             _loc2_.invalidateDisplayList();
  3840.          }
  3841.          dispatchEvent(new Event("explicitWidthChanged"));
  3842.       }
  3843.       
  3844.       [Bindable("initialize")]
  3845.       public function get parentDocument() : Object
  3846.       {
  3847.          var _loc1_:IUIComponent = null;
  3848.          var _loc2_:ISystemManager = null;
  3849.          if(document == this)
  3850.          {
  3851.             _loc1_ = parent as IUIComponent;
  3852.             if(_loc1_)
  3853.             {
  3854.                return _loc1_.document;
  3855.             }
  3856.             _loc2_ = parent as ISystemManager;
  3857.             if(_loc2_)
  3858.             {
  3859.                return _loc2_.document;
  3860.             }
  3861.             return null;
  3862.          }
  3863.          return document;
  3864.       }
  3865.       
  3866.       public function set measuredMinHeight(param1:Number) : void
  3867.       {
  3868.          _measuredMinHeight = param1;
  3869.       }
  3870.       
  3871.       protected function childrenCreated() : void
  3872.       {
  3873.          invalidateProperties();
  3874.          invalidateSize();
  3875.          invalidateDisplayList();
  3876.       }
  3877.       
  3878.       private function setBorderColorForErrorString() : void
  3879.       {
  3880.          var _loc1_:IFocusManager = null;
  3881.          var _loc2_:DisplayObject = null;
  3882.          if(!_errorString || _errorString.length == 0)
  3883.          {
  3884.             setStyle("borderColor",mx_internal::origBorderColor);
  3885.             mx_internal::saveBorderColor = true;
  3886.          }
  3887.          else
  3888.          {
  3889.             if(mx_internal::saveBorderColor)
  3890.             {
  3891.                mx_internal::saveBorderColor = false;
  3892.                mx_internal::origBorderColor = getStyle("borderColor");
  3893.             }
  3894.             setStyle("borderColor",getStyle("errorColor"));
  3895.          }
  3896.          styleChanged("themeColor");
  3897.          _loc1_ = focusManager;
  3898.          _loc2_ = !!_loc1_ ? DisplayObject(_loc1_.getFocus()) : null;
  3899.          if(_loc1_ && _loc1_.showFocusIndicator && _loc2_ == this)
  3900.          {
  3901.             drawFocus(true);
  3902.          }
  3903.       }
  3904.       
  3905.       public function measureText(param1:String) : TextLineMetrics
  3906.       {
  3907.          return determineTextFormatFromStyles().measureText(param1);
  3908.       }
  3909.       
  3910.       [Bindable("explicitWidthChanged")]
  3911.       public function get explicitWidth() : Number
  3912.       {
  3913.          return _explicitWidth;
  3914.       }
  3915.       
  3916.       public function invalidateSize() : void
  3917.       {
  3918.          if(!mx_internal::invalidateSizeFlag)
  3919.          {
  3920.             mx_internal::invalidateSizeFlag = true;
  3921.             if(Boolean(parent) && Boolean(UIComponentGlobals.mx_internal::layoutManager))
  3922.             {
  3923.                UIComponentGlobals.mx_internal::layoutManager.invalidateSize(this);
  3924.             }
  3925.          }
  3926.       }
  3927.       
  3928.       override public function set filters(param1:Array) : void
  3929.       {
  3930.          var _loc2_:int = 0;
  3931.          var _loc3_:int = 0;
  3932.          var _loc4_:IEventDispatcher = null;
  3933.          if(_filters)
  3934.          {
  3935.             _loc2_ = int(_filters.length);
  3936.             _loc3_ = 0;
  3937.             while(_loc3_ < _loc2_)
  3938.             {
  3939.                _loc4_ = _filters[_loc3_] as IEventDispatcher;
  3940.                if(_loc4_)
  3941.                {
  3942.                   _loc4_.removeEventListener("change",filterChangeHandler);
  3943.                }
  3944.                _loc3_++;
  3945.             }
  3946.          }
  3947.          _filters = param1;
  3948.          if(_filters)
  3949.          {
  3950.             _loc2_ = int(_filters.length);
  3951.             _loc3_ = 0;
  3952.             while(_loc3_ < _loc2_)
  3953.             {
  3954.                _loc4_ = _filters[_loc3_] as IEventDispatcher;
  3955.                if(_loc4_)
  3956.                {
  3957.                   _loc4_.addEventListener("change",filterChangeHandler);
  3958.                }
  3959.                _loc3_++;
  3960.             }
  3961.          }
  3962.          super.filters = _filters;
  3963.       }
  3964.       
  3965.       protected function updateDisplayList(param1:Number, param2:Number) : void
  3966.       {
  3967.       }
  3968.       
  3969.       override public function get filters() : Array
  3970.       {
  3971.          return !!_filters ? _filters : super.filters;
  3972.       }
  3973.    }
  3974. }
  3975.  
  3976. class MethodQueueElement
  3977. {
  3978.    public var method:Function;
  3979.    
  3980.    public var args:Array;
  3981.    
  3982.    public function MethodQueueElement(param1:Function, param2:Array = null)
  3983.    {
  3984.       super();
  3985.       this.method = param1;
  3986.       this.args = param2;
  3987.    }
  3988. }
  3989.